35

我有一个简短的 javascript 代码,我需要在 for 循环中跳到下一个......见下文:

var y = new Array ('1', '2', '3', '4');
for (var x in y) {
   callFunctionOne(y[x]);
   while (condition){
       condition = callFunctionTwo(y[x]);
       //now want to move to the next item so 
       // invoke callFunctionTwo() again...
   }
}

想要保持简单,所以语法可能没有错误。

4

1 回答 1

64

不要使用for...in. 该语法用于迭代对象的属性,这不是您所追求的。

至于您的实际问题,您可以使用continue

var y = [1, 2, 3, 4];

for (var i = 0; i < y.length; i++) {
    if (y[i] == 2) {
        continue;
    }

    console.log(y[i]);
}

这将打印:

1
3
4

实际上,您似乎想跳出while循环。您可以break为此使用:

while (condition){
    condition = callFunctionTwo(y[x]);
    break;
}

也看看do...while循环。

于 2013-02-22T23:15:59.857 回答