Uso do return em loops em JavaScript
O fato de return estar localizado dentro de um loop
não significa que seja um erro. No exemplo a seguir,
fizemos uma função que determina
quantos dos primeiros elementos do array precisam ser somados
para que a soma se torne maior ou igual a 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Se a soma for maior ou igual a 10:
if (sum >= 10) {
return i + 1; // saímos do loop e da função
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
No próximo exemplo, fizemos uma função que
calcula quantos números inteiros, começando em
1, precisam ser somados para que o resultado
seja maior que 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // loop infinito
sum += i;
if (sum >= 100) {
return i; // o loop continua até sair aqui
}
i++;
}
}
console.log( func() );
Escreva uma função que receberá um número como parâmetro
e o dividirá por 2
quantas vezes for necessário até que o resultado se torne menor
que 10. A função deve retornar o número de
iterações que foram necessárias para alcançar o
resultado.