Les Structures d'exécution itératives

Rappel : La structure d'exécution itérative s'utilise quand on souhaite effectuer une instruction ou une séquence d'instructions un certain nombre de fois (souvent plusieurs fois mais cela peut également être seulement une fois voir même pas du tout). Selon le type de structure itérative, le nombre de fois peut être fixé dès le départ ou bien dépendre d'une condition booléen, on arrête alors les itérations dès que la condition prend la valeur false.

La structure "while"

Comme vous l'avez déjà vue et utilisée en Python, vous trouverez en colonne de gauche sur fond rose la syntaxe Python et en colonne de droite la syntaxe JavaScript.

Exemple en Python Exemple en JavaScript
Dans le cas d'une seule instruction :
while (a > 0) :
  a=a-1
	
while (a > 0)
  a=a-1;
	
Dans le cas d'une séquence d'instructions :
while (a > 0) :
  a=a-1
  print(a)
	
while (a > 0) {
  a=a-1;
  console.log(a);
}
	

Même dans le cas d'une seule instruction, il est conseillé d'utiliser en JavaScript les acollades et de définir ainsi une séquence d'une seule instruction. Cela sera plus facile si une seconde instruction doit être ajoutée à la séquence à itérer.

La sortie anticipée

Via l'instruction break, vous pouvez sortir d'une structure itérative sans évaluer la condition de sortie ni exécuter le reste des instructions du bloc à itérer. Cette possibilité, qui ne facilite pas la relecture du code et qui est donc en général déconseillée, existe aussi bien en Python qu'en JavaScript.

Exemple en Python Exemple en JavaScript
while (a > 0) :
  a=a-1
  print(a)
  if (a == 3) :
    print("arrêt du compte à rebours")
    break
	
while (a > 0) {
  a=a-1;
  console.log(a);
  if (a == 3) {
    console.log("arrêt du compte à rebours");
    break;
  }
}
	

Pas de "else" avec un "while"

En langage Python, il est possible d'utiliser l'instruction "else :" derrière le bloc d'une instruction "while". Cela signifie que, lors de la sortie des itérations, si la condition booléen n'est plus vérifiée, on exécutera le bloc du "else :". C'est une écriture condencée d'un "while" suivi d'un "if" utilisant la même condition.

Exemple en Python Exemple en JavaScript
while (a > 0) :
  a=a-1
  print(a)
else :
  print("Partez")
	
Pas de syntaxe équivalente en Javascript !
Version non condensée en PythonTraduction en JavaScript
while (a > 0) :
  a=a-1
  print(a)
if (a > 0) :
	0 # ne rien faire
else :
  print("Partez")
	
while (a > 0) {
  a=a-1;
  console.log(a);
}
if (a > 0) { } else {
	console.log("Partez");
}
	

Vous retrouverez la syntaxe complète JavaScript sur le site officiel

La structure "for" croissante

Le but de cette boucle est de faire varier, par pas croissant de 1, la valeur d'un compteur de boucle depuis une valeur initiale jusqu'à une valeur finale et d'exécuter le contenu de la boucle pour chaque valeur du compteur. On connait donc, dès le départ, le nombre d'itérations que l'on effectuera.

Exemple en Python Exemple en JavaScript
for i in range(5,10) :
  print(i)
	
for (i=5 ; i<10 ; i++) {
  console.log(i);
}
	
La variable i prendra successivement les valeurs 5, 6, 7, 8 et 9.

La structure "for" décroissante

Le but de cette boucle est de faire varier, par pas décroissant de 1, la valeur d'un compteur de boucle depuis une valeur initiale jusqu'à une valeur finale et d'exécuter le contenu de la boucle pour chaque valeur du compteur. On connait donc, dès le départ, le nombre d'itérations que l'on effectuera.

Exemple en Python Exemple en JavaScript
for i in range(10,5,-1) :
  print(i)
	
for (i=10 ; i>5 ; i--) {
  console.log(i);
}
	
La variable i prendra successivement les valeurs 10, 9, 8, 7 et 6.

Vous retrouverez la syntaxe complète JavaScript sur le site officiel

Itérer pour tous les éléments d'un tableau

JavaScript propose, comme en Python, la possibilité de parcourir, facilement, tous les éléments d'un tableau et exécuter les instructions de la boucle pour chaque valeur du tableau (que l'on aura copiées successivement dans la variable de boucle pour chaque itération).

Exemple en Python Exemple en JavaScript
tableau=[1,2,3,5,7,11,13,17,19]
for element in tableau :
  print(element)
	
tableau=[1,2,3,5,7,11,13,17,19];
for (element of tableau) {
  console.log(element);
}
	
On parcourt le tableau du premier au dernier élément.

Vous retrouverez la syntaxe complète JavaScript sur le site officiel

Remarque

Il est également possible de programmer le parcourt des élements d'un tableau en faisant varier une variable de boucle qui décriera les valeurs des indices du tableau en commençant par 0 et en récupérant ensuite, via cet indice, l'élément correspondant du tableau.

tableau=[1,2,3,5,7,11,13,17,19];
for (var i=0 ; i<tableau.length ; i++) {
  element=tableau[i];
  console.log(element);
}
	

Même si c'est d'une écriture moins simple, cela présente l'avantage de pouvoir être modifié pour faire un parcourt du dernier élement au premier, quand c'est nécessaire.

La méthode pop() permettant d'extraire le dernier élement d'un tableau, un tel type de parcourt peut s'avérer nécessaire pour traiter les éléments puis les supprimer un par un via cette méthode.

tableau=[1,2,3,5,7,11,13,17,19];
for (var i=tableau.length-1 ; i>-1 ; i--) {
  element=tableau[i];
  console.log(element);
  tableau.pop();
}