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:
function 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:
function 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() );
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.