Lekcje modułu (3/4)
break i continue
Dwa bardzo przydatne słowa kluczowe wewnątrz pętli:
breaknatychmiast przerywa działanie i wychodzi z najbardziej wewnętrznej pętli.continueprzeskakuje do następnego obrotu pętli, bez wykonywania reszty jej ciała.
break: szybsze wyjście
Typowy przypadek użycia to „znajdź pierwszy element spełniający warunek”:
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]); // -2Przykład z jawnym użyciem break:
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: przeskoczenie do następnego elementu
Kiedy dany element Cię nie interesuje, ale chcesz kontynuować działanie pętli:
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]); // 12W wielu przypadkach instrukcja if (cond) { ... } byłaby równoważna; continue pomaga, gdy
ciało pętli jest długie i chcesz uniknąć głębokiego zagnieżdżania kodu (zachowując płaską strukturę).
Spróbuj sam
Zdefiniuj `firstGreater(nums, threshold)`, które zwraca pierwszy element z tablicy nums ściśle większy niż threshold, lub undefined jeśli żaden taki nie istnieje. Użyj break (lub natychmiastowego return).
Pokaż wskazówkę
Return wewnątrz pętli for działa jednocześnie jak break i return.
Rozwiązanie dostępne po 3 próbach
Ćwiczenie powtórzeniowe
Zdefiniuj `sumSkippingZeros(nums)`, które sumuje wszystkie elementy z wyjątkiem dokładnych zer. Użyj continue.
Pokaż wskazówkę
Jeśli n === 0, użyj continue; w przeciwnym razie akumuluj wartość.
Rozwiązanie dostępne po 3 próbach