Lezioni del modulo (3/4)
break e continue
Due parolette molto utili dentro un loop:
breakesce subito dal loop più interno.continuesalta al prossimo giro, senza eseguire il resto del corpo.
break: uscire prima
Tipico per "cerca il primo che soddisfa una condizione":
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]); // -2Esempio con break esplicito:
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; // 2continue: saltare al prossimo
Quando un elemento non ti interessa ma vuoi continuare il loop:
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]); // 12In molti casi un if (cond) { ... } sarebbe equivalente; continue aiuta quando il corpo è
lungo e vuoi mantenere il flusso piatto (poco annidamento).
Prova tu
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).
Mostra suggerimento
Un return dentro il for funziona come break + return contemporaneamente.
Soluzione disponibile dopo 3 tentativi
Esercizio di ripasso
Definisci `sumSkippingZeros(nums)` che somma tutti gli elementi tranne gli zeri esatti. Usa continue.
Mostra suggerimento
Se n === 0, continue; altrimenti accumula.
Soluzione disponibile dopo 3 tentativi