Salt la conținutul principal
Modulul 5 · Lecția 3 din 419/32 în curs~10 min
Lecții din modul (3/4)

rupe și continuă

Două cuvinte mici foarte utile într-o buclă:

  • break iese imediat din bucla cea mai interioară.
  • continue sare 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”:

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

Exemplu cu break explicit:

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: treceți la următoarea

Când un element nu este interesant, dar doriți să continuați să faceți bucla:

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

Î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ă

Exercițiu#js.m5.l3.e1
Încercări: 0Se încarcă…

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ă).

Se încarcă editorul...
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

Exercițiu#js.m5.l3.e2
Încercări: 0Se încarcă…

Definiți `sumSkippingZeros(nums)` care însumează toate elementele, cu excepția zerourilor exacte. Utilizați continuare.

Se încarcă editorul...
Afișează indiciu

Dacă n === 0, continuă; în caz contrar acumulează.

Soluție disponibilă după 3 încercări