在javascript中从内循环跳出外循环

Dit*_*itR 4 break nested-loops

while(valid){
   for(loop through associative array){
      if(!valid){
         break;
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法来从 if 语句中跳出 while 循环。到目前为止,最好的方法似乎是在 Javascript 中不存在的 goto 方法。导致 if 语句跳出它嵌套的两个循环的最佳方法是什么?在此先感谢您的帮助!

use*_*682 6

创建一个变量作为传递给外部循环的标志是一种方法,但是,JavaScript 提供了标签,我认为这使代码更易于阅读并减少了代码量:

outerloop:
while(valid){
    for(loop through associative array){
      if(!valid){
         break outerloop;
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

下面是在标签上一些信息在这里向下滚动到标签的部分。你甚至可以继续到外循环。


Jor*_*dan 4

根据您的条件,应该很容易将 for 循环的迭代器设置为会破坏它的东西,并将 while 条件设置为 false。例如,

while(someBoolean){
    for(var i = 0; i < size; i++){
        if(wantToBreak){
            i = size;
            someBoolean = false;
        }else{
            //Do Stuff
        }
    }
}
Run Code Online (Sandbox Code Playgroud)