Použitie return v cykloch v JavaScript
To, že return je umiestnený vnútri cyklu,
nie vždy musí byť chybou. V nasledujúcom
príklade je vytvorená funkcia, ktorá určuje,
koľko prvých prvkov poľa je potrebné sčítať,
aby sa súčet stal väčším alebo rovným 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Ak je súčet väčší alebo rovný 10:
if (sum >= 10) {
return i + 1; // ukončíme cyklus a funkciu
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
A v nasledujúcom príklade je vytvorená funkcia, ktorá
vypočítava, koľko celých čísel, počnúc od
1, je potrebné sčítať, aby bol výsledok
väčší ako 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // nekonečný cyklus
sum += i;
if (sum >= 100) {
return i; // cyklus sa točí, kým neukončí tu
}
i++;
}
}
console.log( func() );
Napíšte funkciu, ktorá bude parametrom prijímať
číslo a deliť ho 2
tolko krát, kým výsledok nebude menší ako
10. Nech funkcia vráti počet
iterácií, ktoré boli potrebné na dosiahnutie
výsledku.