在javascript中从内循环中突破外循环

时间:2013-07-19 17:56:48

标签: break nested-loops

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:3)

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

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

以下是标签上的一些信息here向下滚动到标签部分。你甚至可以继续使用外环。