Returnin käyttö silmukoissa JavaScriptissä

Se, että return sijaitsee silmukan sisällä, ei aina ole virhe. Seuraavassa esimerkissä on tehty funktio, joka määrittää, kuinka monta ensimmäistä taulukon elementtiä on laskettava yhteen, jotta summa tulisi suuremmaksi tai yhtä suureksi kuin 10:

javascriptfunction func(arr) {
  let sum = 0;
  
  for (let i = 0; i < arr.length; i++) {
    sum += arr[i];
    
    // Jos summa on suurempi tai yhtä suuri kuin 10:
    if (sum >= 10) {
      return i + 1; // poistutaan silmukasta ja funktiosta
    }
  }
}

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

Seuraavassa esimerkissä on tehty funktio, joka laskee, kuinka monta kokonaislukua, alkaen 1:stä, on laskettava yhteen, jotta tulos olisi suurempi kuin 100:

javascriptfunction func() {
  let sum = 0;
  let i = 1;
  
  while (true) { // päättymätön silmukka
    sum += i;
    
    if (sum >= 100) {
      return i; // silmukka pyörii kunnes poistutaan täältä
    }
    
    i++;
  }
}

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

Kirjoita funktio, joka parametrina vastaanottaa luvun ja jakaa sen 2:lla niin monta kertaa, kunnes tulos on pienempi kuin 10. Funktion tulee palauttaa iteraatioiden määrä, joka tarvittiin tuloksen saavuttamiseksi.