2013-07-19 193 views
3
while(valid){ 
    for(loop through associative array){ 
     if(!valid){ 
     break; 
     } 
    } 
} 

我試圖找到一種方法來打破if語句中的while循環。到目前爲止,最好的方法似乎是Javascript中不存在的goto方法。導致if語句擺脫嵌套在其中的兩個循環的最好方法是什麼?先謝謝您的幫助!在javascript中從內部循環中打破外部循環

回答

3

根據您的條件是什麼,應該很容易將for循環的迭代器設置爲可以破壞它的某些東西,並將while條件設置爲false。例如,

while(someBoolean){ 
    for(var i = 0; i < size; i++){ 
     if(wantToBreak){ 
      i = size; 
      someBoolean = false; 
     }else{ 
      //Do Stuff 
     } 
    } 
} 
2

創建變量充當標誌傳遞到外環是一種方法,但是,JavaScript提供我認爲使代碼更容易閱讀,以及減少的代碼量的標籤:

outerloop: 
while(valid){ 
    for(loop through associative array){ 
     if(!valid){ 
     break outerloop; 
     } 
    } 
} 

以下是標籤上的一些信息here向下滾動到標籤部分。你甚至可以繼續進行外環。