Användning av return i loopar i JavaScript
Att return är placerad inne i en loop,
är inte alltid ett misstag. I följande
exempel har en funktion gjorts som bestämmer,
hur många av de första elementen i arrayen som behöver läggas ihop,
för att summan ska bli större än eller lika med 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Om summan är större än eller lika med 10:
if (sum >= 10) {
return i + 1; // avslutar loopen och funktionen
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
I följande exempel har en funktion gjorts som
beräknar, hur många heltal, med start från
1, som behöver läggas ihop, för att resultatet
skall vara större än 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // oändlig loop
sum += i;
if (sum >= 100) {
return i; // loopen snurrar tills den avslutas här
}
i++;
}
}
console.log( func() );
Skriv en funktion som med en parameter tar emot
ett nummer och delar det med 2
så många gånger, tills resultatet blir mindre
än 10. Låt funktionen returnera antalet
iterationer som krävdes för att uppnå
resultatet.