Lecții din modul (3/4)
rupe și continuă
Două cuvinte mici foarte utile într-o buclă:
breakiese imediat din bucla cea mai interioară.continuesare la următoarea iterație, fără a executa restul corpului.
break: ieșiți mai devreme
Tipic pentru „găsiți primul care îndeplinește o condiție”:
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]); // -2Exemplu cu break explicit:
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: treceți la următoarea
Când un element nu este interesant, dar doriți să continuați să faceți bucla:
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În multe cazuri, un if (cond) { ... } ar fi echivalent; continue ajută atunci când corpul este lung
și doriți să mențineți fluxul plat (puțin cuibărit).
Încearcă
Definiți `firstGreater(nums, threshold)` care returnează primul element al numerelor strict mai mare decât pragul, sau nedefinit dacă niciunul nu este. Utilizați pauză (sau o întoarcere imediată).
Afișează indiciu
O întoarcere în interiorul pentru lucrări ca pauză + retur în același timp.
Soluție disponibilă după 3 încercări
Exercițiu de revizuire
Definiți `sumSkippingZeros(nums)` care însumează toate elementele, cu excepția zerourilor exacte. Utilizați continuare.
Afișează indiciu
Dacă n === 0, continuă; în caz contrar acumulează.
Soluție disponibilă după 3 încercări