Примена return у циклусима у JavaScript-у
To, што 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. Нека функција враћа број
итерација, који је био потребан да се постигне
резултат.