Cours Apps Script : les boucles

Les boucles permettent de répéter une ou plusieurs instructions un certain nombre de fois, en fonction d'une ou de plusieurs conditions.


For

Pour comprendre l'intérêt des boucles, c'est assez simple, observez ce code :

function listeDesMois() {

  console.log('Mois 1');
  console.log('Mois 2');
  console.log('Mois 3');
  console.log('Mois 4');
  console.log('Mois 5');
  console.log('Mois 6');
  console.log('Mois 7');
  console.log('Mois 8');
  console.log('Mois 9');
  console.log('Mois 10');
  console.log('Mois 11');
  console.log('Mois 12');
}

C'est très répétitif ... Maintenant imaginez qu'au lieu de 12 répétitions, il y en ait 10'000 ...

Les boucles permettent donc d'exécuter en boucle des instructions pour éviter les répétitions inutiles de code.

Voici un code qui affiche également les 12 messages mais avec une boucle for :

function listeDesMois() {

  const message = 'Mois ';

  for (let i = 1; i <= 12; i++) {
    console.log(message + i);
  }
}

La boucle for comporte 3 expressions entre (), séparées par des ; :

for (let i = 1; i <= 12; i++)

La première expression est la déclaration de la variable qui va servir de compteur (généralement nommée i) et qui démarre à 1 dans cet exemple pour correspondre au numéro de mois :

let i = 1

La seconde expression est la condition qui est vraie tant que i est plus petit ou égal à 12 (pour s'arrêter ici au mois 12):

i <= 12

Et la troisième est l'incrémentation avec i++ (qui est l'équivalent de i = i + 1), ce qui signifie qu'après chaque itération, la variable i augmente de 1 :

i++

Break

Si nécessaire, vous pouvez quitter une boucle avant la fin en utilisant l'instruction break :

function listeDesMois() {

  const message = 'Mois ';

  for (let i = 1; i <= 12; i++) {
    console.log(message + i);

    // Sortie de la boucle après "Mois 6"
    if (i === 6) {
      break;
    }
  }
}

Exercice

Pour vous exercer, complétez le code suivant pour afficher dans la console le contenu du tableau en commençant par la fin (avant de passer à la solution un peu plus bas) :

function boucles() {

  const tableau = ['fun', 'c\'est', 'boucles', 'les'];

  for (   ) {
    console.log(  );
  }
}

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Voici la version complétée :

function boucles() {

  const tableau = ['fun', 'c\'est', 'boucles', 'les'];

  for (let i = 3; i >= 0; i--) {
    console.log(tableau[i]);
  }
}

On démarre ici de la fin du tableau (donc à l'indice 3), la variable est donc initialisée à 3 :

let i = 3

Avec une condition qui permet d'aller jusqu'à la première valeur du tableau (donc à l'indice 0) :

i >= 0

Et la valeur de la variable devra être réduite de 1 à chaque boucle (i-- est l'équivalent de i = i - 1) :

i--

Pour terminer, la valeur du tableau est affichée en fonction de l'indice i :

console.log(tableau[i]);