Използване на return в цикли в JavaScript
Фактът, че return е разположен вътре в цикъл,
не винаги означава грешка. В следващия
пример е създадена функция, която определя
колко от първите елементи на масива трябва да се сумират,
за да стане сумата по-голяма или равна на 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Ако сумата е по-голяма или равна на 10:
if (sum >= 10) {
return i + 1; // излизаме от цикъла и от функцията
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
А в следващия пример е създадена функция, която
изчислява колко цели числа, започвайки от
1, трябва да се сумират, за да стане резултатът
по-голям от 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // безкраен цикъл
sum += i;
if (sum >= 100) {
return i; // цикълът се върти, докато не излезе оттук
}
i++;
}
}
console.log( func() );
Напишете функция, която ще приема число като параметър и ще го дели на 2
толкова пъти, докато резултатът стане по-малък от
10. Нека функцията връща броя
итерации, които са били необходими за постигане на
резултата.