从嵌套的for循环中分离出来

时间:2013-12-22 03:07:30

标签: javascript html

我有两个for循环想从两个循环退出我的控件在内循环看到下面的代码

for(condition)
{
    for (condition)
    {
         if(condition)
                  from here i want to exit from these loops 
     }
}

4 个答案:

答案 0 :(得分:8)

JS使用语句标签来赋予语句标识符。这非常适合在嵌套循环中使用,因为它可以让你的内部语句控制超出其循环“层”的内容。语句标签可以与continue或break语句一起使用。

所以你的代码可以是:

someName: 
for(condition)
{
    for (condition)
    {
         if(condition)
                  if (condition) {
                      break someName; // exit outer loop
                  }
     }
}

有关详细信息,请参阅MDN "label"

答案 1 :(得分:2)

虽然jpau的配方很好并且让人联想到C / C ++,但我更喜欢含有curry's味道的配方。

只需将循环包裹在IIFE

(function(){
  for(condition) {
    for (condition) {
      if(condition) {
         // do whatever here
         return;
      }
    }
  }
})()

因为function是JavaScript中的第一类对象,所以你可以利用IIFE而不诉诸于lalels。

答案 2 :(得分:1)

有一面旗帜,旗帜是否会突破两者。

var flag = true;

for(condition && flag)
{
    for (condition && flag)
    {
         if(condition) {
             flag = false;
             break;
         }
    }
}

答案 3 :(得分:1)

将嵌套循环写入单独的函数,然后使用return从任何位置退出循环,而不是break

function myFunction()
{
    for(condition)
    {
        for (condition)
        {
             if(condition)

                      if (condition) 
                      {
                         return;
                      }
         }
    }
}