2013-07-19 150 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向下滚动到标签部分。你甚至可以继续进行外环。