Utilizarea lui return în bucle în JavaScript
Faptul că return este situat în interiorul unei bucle,
nu este întotdeauna o eroare. În următorul
exemplu este creată o funcție care determină
câte elemente prime ale tabloului trebuie adunate,
pentru ca suma să devină mai mare sau egală cu 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Dacă suma este mai mare sau egală cu 10:
if (sum >= 10) {
return i + 1; // ieșim din buclă și din funcție
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
În următorul exemplu este creată o funcție care
calculează câte numere întregi, începând cu
1, trebuie adunate, pentru ca rezultatul
să fie mai mare decât 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // buclă infinită
sum += i;
if (sum >= 100) {
return i; // bucla se rotește până când iese de aici
}
i++;
}
}
console.log( func() );
Scrieți o funcție care va primi ca parametru un număr
și îl va împărți la 2
de atâtea ori, până când rezultatul devine mai mic
decât 10. Funcția să returneze numărul
de iterații care au fost necesare pentru atingerea
rezultatului.