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

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

4

2 回答 2

6

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

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

这里有一些关于标签的信息向下滚动到标签部分。你甚至可以继续到外循环。

于 2013-12-01T00:12:27.830 回答
3

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

while(someBoolean){
    for(var i = 0; i < size; i++){
        if(wantToBreak){
            i = size;
            someBoolean = false;
        }else{
            //Do Stuff
        }
    }
}
于 2013-07-19T18:06:04.900 回答