使用jquery仅从内部循环退出

时间:2013-01-18 08:51:51

标签: javascript jquery asp.net

我知道这个问题已被多次询问过。但我没有完成它。有人可以帮助退出内循环。打破labelname不适合我。

loop1:
    for (var i = 0; i < timeHolder.length; i++) {
    loop2:
        for (var key2 in self.TimeHolder[0]) {

            if (self.TimeHolder[0].hasOwnProperty(key2)) {
                if (self.TimeHolder[0][key2] == timeHolder[i]) {
                    var pattern = _.pick(row, key2)[key2];
                    var status = pattern.split('-');

                    $('#tblMatrix tr:last').append(self.createCompanyStatusRowsByRow(status));
                  break loop2;
                }
            }
        }
    }

然而,break loop2也从外环退出。

3 个答案:

答案 0 :(得分:4)

看看这个问题:Best way to break from nested loops in Javascript? 最佳答案(我认为)是:

loop1:
    for (var i in set1) {
loop2:
        for (var j in set2) {
loop3:
            for (var k in set3) {
                break loop2;  // breaks out of loop3 and loop2
            }
        }
    }

答案 1 :(得分:0)

只需使用break代替break loop2

break关键字将使您脱离当前的执行循环。

答案 2 :(得分:0)

简单的休息对我来说非常适合。

var elems = [ "a","b","c","d","e" ];
for( var i = 0; i < 5; i++ ) {

  console.log( i );

  for( var j in els ) {

    if( elems[j] == "c" ) {

      break;
    }

    console.log( " " + elems[j] );
  }
}

预期输出

0
 a
 b
1
 a
 b
2
 a
 b
3
 a
 b
4
 a
 b