Utilizzo di return nei cicli in JavaScript
Il fatto che return sia posizionato all'interno di un ciclo,
non è sempre un errore. Nel seguente
esempio è stata creata una funzione che determina
quanti primi elementi dell'array è necessario sommare
affinché la somma diventi maggiore o uguale a 10:
function func(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += arr[i];
// Se la somma è maggiore o uguale a 10:
if (sum >= 10) {
return i + 1; // usciamo dal ciclo e dalla funzione
}
}
}
let res = func([1, 2, 3, 4, 5]);
console.log(res);
Nel seguente esempio è stata creata una funzione che
calcola quanti numeri interi, a partire da
1, è necessario sommare, affinché il risultato
sia maggiore di 100:
function func() {
let sum = 0;
let i = 1;
while (true) { // ciclo infinito
sum += i;
if (sum >= 100) {
return i; // il ciclo continua finché non esce qui
}
i++;
}
}
console.log( func() );
Scrivete una funzione che accetti un numero come parametro
e lo divida per 2
tante volte, finché il risultato non diventi minore
di 10. La funzione deve restituire il numero
di iterazioni richieste per raggiungere il risultato.