Existe-t-il d'autres moyens d'incrémenter un for
boucle en Javascript en plus de i++
y ++i
? Par exemple, je veux incrémenter par 3 au lieu de 1.
for (var i = 0; i < myVar.length; i+3) {
//every three
}
Existe-t-il d'autres moyens d'incrémenter un for
boucle en Javascript en plus de i++
y ++i
? Par exemple, je veux incrémenter par 3 au lieu de 1.
for (var i = 0; i < myVar.length; i+3) {
//every three
}
Utilisez le +=
opérateur d'affectation :
for (var i = 0; i < myVar.length; i += 3) {
Techniquement, vous pouvez placer n'importe quelle expression dans l'expression finale de la boucle for, mais elle est généralement utilisée pour mettre à jour la variable compteur.
Pour plus d'informations sur chaque étape de la boucle for, Consultez l'article du MDN .
A for
boucle :
for(INIT; TEST; ADVANCE) {
BODY
}
Signifie ce qui suit :
INIT;
while (true) {
if (!TEST)
break;
BODY;
ADVANCE;
}
Vous pouvez écrire presque n'importe quelle expression pour INIT
, TEST
, ADVANCE
y BODY
.
Notez que le ++
et les variantes sont des opérateurs avec des effets secondaires (il faut essayer de les éviter si vous ne les utilisez pas comme i+=1
et autres) :
++i
signifie i+=1; return i
i++
signifie oldI=i; i+=1; return oldI
Exemple :
> i=0
> [i++, i, ++i, i, i--, i, --i, i]
[0, 1, 2, 2, 2, 1, 0, 0]
La réponse d'Andrew Whitaker est vraie, mais vous pouvez utiliser n'importe quelle expression pour n'importe quelle partie.
N'oubliez pas que la deuxième expression (du milieu) doit être évaluée de manière à pouvoir être comparée à un booléen. true
ou false
.
Lorsque j'utilise un for
boucle je le vois comme
for (var i = 0; i < 10; ++i) {
/* expression */
}
comme étant
var i = 0;
while( i < 10 ) {
/* expression */
++i;
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.