Použití return ve smyčkách v JavaScriptu
To, že je return umístěn uvnitř smyčky,
nemusí vždy být chyba. V následujícím
příkladu je vytvořena funkce, která určuje,
kolik prvních prvků pole je třeba sečíst,
aby součet byl větší nebo roven 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Pokud je součet větší nebo roven 10:
if (sum >= 10) {
return i + 1; // vystoupíme ze smyčky a z funkce
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
A v následujícím příkladu je vytvořena funkce, která
vypočítá, kolik celých čísel, počínaje
1, je třeba sečíst, aby výsledek
byl větší než 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // nekonečná smyčka
sum += i;
if (sum >= 100) {
return i; // smyčka se točí, dokud nevystoupí zde
}
i++;
}
}
console.log( func() );
Napište funkci, která bude parametrem
přijímat číslo a dělit jej 2
tolikrát, dokud výsledek nebude menší
než 10. Nechť funkce vrací počet
iterací, které byly potřeba k dosažení
výsledku.