Existe-t-il d'autres méthodes pour incrémenter une boucle for
en Javascript, à part i++
et ++i
? Par exemple, je veux incrémenter de 3 au lieu d'un.
for (var i = 0; i < myVar.length; i+3) {
//every three
}
for (var i = 0; i < myVar.length; i += 3) {
Techniquement, vous pouvez placer n'importe quelle expression de votre choix dans l'expression finale de la boucle for, mais elle est généralement utilisée pour mettre à jour la variable counter.
Pour plus d'informations sur chaque étape de la boucle for, consultez l'article MDN .
Une boucle for
:
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
et BODY
.
Notez que les opérateurs et les variantes ++
sont des opérateurs ayant 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]
for (var i = 0; i < 10; i = i + 2) {
// code here
}
La réponse d'Andrew Whitaker est vraie, mais vous pouvez utiliser n'importe quelle expression pour n'importe quelle partie.
Rappelez-vous que la deuxième expression (du milieu) doit être évaluée pour pouvoir être comparée à une valeur booléenne true
ou false
.
Quand j'utilise une boucle for
, je la considère comme
for (var i = 0; i < 10; ++i) {
/* expression */
}
comme étant
var i = 0;
while( i < 10 ) {
/* expression */
++i;
}
Vous pouvez certainement. D'autres ont bien fait remarquer que vous devez faire i += 3
. Vous ne pouvez pas faire ce que vous avez posté car tout ce que vous faites ici est d'ajouter i + 3
mais de ne jamais attribuer le résultat à i
. i++
est juste un raccourci pour i = i + 1
, de même que i +=3
est un raccourci pour i = i + 3
.
for (var i = 0; i < myVar.length; i+=3) {
//every three
}
Additionnel
Operator Example Same As
++ X ++ x = x + 1
-- X -- x = x - 1
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y