Direct naar de hoofdinhoud
Module 5 · Les 3 van 419/32 in de cursus~10 min
Modulelessen (3/4)

breken en doorgaan

Twee zeer nuttige kleine woorden in een lus:

  • break verlaat onmiddellijk de binnenste lus.
  • continue springt naar de volgende iteratie, zonder de rest van het lichaam uit te voeren.

break: vertrek vroeg

Typisch voor "vind de eerste die aan een voorwaarde voldoet":

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

Voorbeeld met expliciete break:

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: ga naar de volgende

Wanneer een element niet interessant is, maar je wilt blijven herhalen:

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 veel gevallen zou een if (cond) { ... } gelijkwaardig zijn; continue helpt als het lichaam lang is en je wilt de stroom vlak houden (weinig nesten).

Probeer het

Oefening#js.m5.l3.e1
Pogingen: 0Laden…

Definieer `firstGreater(nums, Threshold)` dat het eerste element van nums retourneert dat strikt groter is dan de drempel, of ongedefinieerd als er geen is. Gebruik pauze (of een onmiddellijke terugkeer).

Editor laden…
Toon hint

Een return binnen de for werkt tegelijkertijd als break + return.

Oplossing beschikbaar na 3 pogingen

Oefening beoordelen

Oefening#js.m5.l3.e2
Pogingen: 0Laden…

Definieer `sumSkippingZeros(nums)` dat alle elementen optelt, behalve de exacte nullen. Gebruik doorgaan.

Editor laden…
Toon hint

Als n === 0, ga verder; anders ophopen.

Oplossing beschikbaar na 3 pogingen