Passer au contenu principal
eLearner.app
Module 5 · Leçon 3 sur 419/32 dans le cours~10 min
Leçons du module (3/4)

break et continue

Deux mots-clés très utiles à l'intérieur d'une boucle :

  • break sort immédiatement de la boucle la plus interne.
  • continue passe directement à l'itération suivante, sans exécuter le reste du corps.

break : sortir plus tôt

Typique pour "rechercher le premier élément qui satisfait une condition" :

JS
function primoNegativo(nums) {
  for (const n of nums) {
    if (n < 0) return n; // o: result = n; break;
  }
  return undefined;
}

primoNegativo([3, 7, -2, 4, -9]); // -2

Exemple avec un break explicite :

JS
let trovato = -1;
const nums = [10, 20, 30, 40, 50];
for (let i = 0; i < nums.length; i++) {
  if (nums[i] === 30) {
    trovato = i;
    break;
  }
}
trovato; // 2

continue : passer au suivant

Lorsque qu'un élément ne t'intéresse pas mais que tu veux poursuivre la boucle :

JS
function sommaPari(nums) {
  let totale = 0;
  for (const n of nums) {
    if (n % 2 !== 0) continue; // salta i dispari
    totale += n;
  }
  return totale;
}

sommaPari([1, 2, 3, 4, 5, 6]); // 12

Dans de nombreux cas, un if (cond) { ... } serait équivalent ; continue s'avère utile lorsque le corps de la boucle est long et que tu souhaites garder un flux plat (sans trop d'imbrications).

À toi de jouer

Exercice#js.m5.l3.e1
Tentatives : 0Chargement…

Définis `firstGreater(nums, threshold)` qui renvoie le premier élément de nums strictement supérieur à threshold, ou undefined si aucun ne l'est. Utilise break (ou un return immédiat).

Chargement de l'éditeur…
Afficher l'indice

Un return dans le for fonctionne comme un break + return simultanés.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#js.m5.l3.e2
Tentatives : 0Chargement…

Définis `sumSkippingZeros(nums)` qui additionne tous les éléments sauf les zéros exacts. Utilise continue.

Chargement de l'éditeur…
Afficher l'indice

Si n === 0, continue ; sinon on accumule.

Solution disponible après 3 tentatives