Vai al contenuto
eLearner.app
Modulo 5 · Lezione 3 di 419/32 nel corso~10 min
Lezioni del modulo (3/4)

break e continue

Due parolette molto utili dentro un loop:

  • break esce subito dal loop più interno.
  • continue salta al prossimo giro, senza eseguire il resto del corpo.

break: uscire prima

Tipico per "cerca il primo che soddisfa una condizione":

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

Esempio con break esplicito:

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: saltare al prossimo

Quando un elemento non ti interessa ma vuoi continuare il loop:

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

In molti casi un if (cond) { ... } sarebbe equivalente; continue aiuta quando il corpo è lungo e vuoi mantenere il flusso piatto (poco annidamento).

Prova tu

Esercizio#js.m5.l3.e1
Tentativi: 0Caricamento…

Definisci `firstGreater(nums, threshold)` che restituisce il primo elemento di nums strettamente maggiore di threshold, o undefined se nessuno lo è. Usa break (o un return immediato).

Caricamento editor…
Mostra suggerimento

Un return dentro il for funziona come break + return contemporaneamente.

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#js.m5.l3.e2
Tentativi: 0Caricamento…

Definisci `sumSkippingZeros(nums)` che somma tutti gli elementi tranne gli zeri esatti. Usa continue.

Caricamento editor…
Mostra suggerimento

Se n === 0, continue; altrimenti accumula.

Soluzione disponibile dopo 3 tentativi