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:

javascriptfunction 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:

javascriptfunction 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() );
Задание 1

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.