web-dev-qa-db-ja.com

しばらくの間、for-inでjavascriptを次へスキップする方法は?

Forループで次へスキップする必要がある短いJavaScriptコードがあります。

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...
   }
}

シンタックスにエラーがないようにシンプルにしたかった。

24
Ram Iyer

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 ループもご覧ください。

46
Blender