Uso de return en bucles en JavaScript
El hecho de que el return esté dentro de un bucle,
no siempre tiene que ser un error. En el siguiente
ejemplo se crea una función que determina
cuántos de los primeros elementos del array se necesitan sumar
para que la suma sea mayor o igual a 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Si la suma es mayor o igual a 10:
if (sum >= 10) {
return i + 1; // salimos del bucle y de la función
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
Y en el siguiente ejemplo se crea una función que
calcula cuántos números enteros, empezando desde
1, se necesitan sumar para que el resultado
sea mayor a 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // bucle infinito
sum += i;
if (sum >= 100) {
return i; // el bucle gira hasta que salga aquí
}
i++;
}
}
console.log( func() );
Escriba una función que tome como parámetro un
número y lo divida entre 2
tantas veces hasta que el resultado sea menor
que 10. Que la función devuelva el número
de iteraciones que se requirieron para alcanzar el
resultado.