Modulelessen (3/4)
breken en doorgaan
Twee zeer nuttige kleine woorden in een lus:
breakverlaat onmiddellijk de binnenste lus.continuespringt 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":
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]); // -2Voorbeeld met expliciete 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: ga naar de volgende
Wanneer een element niet interessant is, maar je wilt blijven herhalen:
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 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
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).
Toon hint
Een return binnen de for werkt tegelijkertijd als break + return.
Oplossing beschikbaar na 3 pogingen
Oefening beoordelen
Definieer `sumSkippingZeros(nums)` dat alle elementen optelt, behalve de exacte nullen. Gebruik doorgaan.
Toon hint
Als n === 0, ga verder; anders ophopen.
Oplossing beschikbaar na 3 pogingen