166 votes

Une boucle for peut-elle incrémenter/décrémenter de plus d'une unité ?

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
}

2voto

Sudesh Banskota Points 41

Vous le pouvez certainement. D'autres ont souligné à juste titre 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 sans jamais réaffecter le résultat à i . i++ est juste un raccourci pour i = i + 1 de la même manière i +=3 est un raccourci pour i = i + 3 .

1voto

Neville Lusimba Points 71

La dernière partie de l'opérateur ternaire vous permet de spécifier la taille du pas d'incrémentation. Par exemple, i++ signifie incrémenter de 1. i+=2 est identique à i=i+2,... etc. Exemple :

let val= [];

for (let i = 0; i < 9; i+=2) {
  val = val + i+",";
}

console.log(val);

Résultats attendus : "2,4,6,8"

i' peut être un nombre entier ou à virgule flottante en fonction de la taille de pas souhaitée.

0voto

Il y a un opérateur juste pour cela. Par exemple, si je voulais changer une variable i par 3 alors :

var someValue = 9;
var Increment  = 3;
for(var i=0;i<someValue;i+=Increment){
//do whatever
}

pour diminuer, vous utilisez -=

var someValue = 3;
var Increment  = 3;
for(var i=9;i>someValue;i+=Increment){
//do whatever
}

Prograide.com

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.

Powered by:

X