web-dev-qa-db-fra.com

Comment passer au suivant en javascript dans un for-in avec un moment à l'intérieur?

J'ai un court code javascript où je dois passer au suivant dans la boucle for .... voir ci-dessous:

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

Je voulais rester simple pour que la syntaxe soit sans erreur.

24
Ram Iyer

Ne parcourez pas les tableaux à l'aide de for...in. Cette syntaxe permet d'itérer sur les propriétés d'un objet, ce qui n'est pas ce que vous recherchez.

Quant à votre question réelle, vous pouvez utiliser le continue:

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

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

    console.log(y[i]);
}

Cela imprimera:

1
3
4

En fait, il semble que vous souhaitiez sortir de la boucle while. Vous pouvez utiliser break pour cela:

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

Jeter un coup d'œil à do...while boucles également.

46
Blender