Използване на return в цикли в JavaScript

Фактът, че return е разположен вътре в цикъл, не винаги означава грешка. В следващия пример е създадена функция, която определя колко от първите елементи на масива трябва да се сумират, за да стане сумата по-голяма или равна на 10:

javascriptfunction func(arr) {
  let sum = 0;
  
  for (let i = 0; i < arr.length; i++) {
    sum += arr[i];
    
    // Ако сумата е по-голяма или равна на 10:
    if (sum >= 10) {
      return i + 1; // излизаме от цикъла и от функцията
    }
  }
}

let res = func([1, 2, 3, 4, 5]);
console.log(res);

А в следващия пример е създадена функция, която изчислява колко цели числа, започвайки от 1, трябва да се сумират, за да стане резултатът по-голям от 100:

javascriptfunction func() {
  let sum = 0;
  let i = 1;
  
  while (true) { // безкраен цикъл
    sum += i;
    
    if (sum >= 100) {
      return i; // цикълът се върти, докато не излезе оттук
    }
    
    i++;
  }
}

console.log( func() );
Задание 1

Напишете функция, която ще приема число като параметър и ще го дели на 2 толкова пъти, докато резултатът стане по-малък от 10. Нека функцията връща броя итерации, които са били необходими за постигане на резултата.