Liput JavaScript-funktioissa
Funktioissa voidaan käyttää lippuja
epäsuorassa muodossa return-käskyn
avulla. Katsotaan kuinka tämä tehdään.
Oletetaan, että meillä on seuraava funktio,
joka tarkistaa, ovatko kaikki taulukon
alkiot positiivisia lukuja:
function isPositive(arr) {
let flag = true;
for (let elem of arr) {
if (elem < 0) {
flag = false;
}
}
return flag;
}
Kirjoitetaan funktion koodi uudelleen käyttäen lippuja epäsuorasti:
function isPositive(arr) {
for (let elem of arr) {
if (elem < 0) {
return false;
}
}
return true;
}
Miten tämä toimii: jos taulukosta löytyy
haluttu alkio - poistumme funktiosta
(samalla myös silmukasta) return-käskyn
avulla. Mutta jos taulukosta ei löydy haluttua
alkiota - funktiosta ei poistuta ja suoritus
pääsee return true-käskylle. Ja
käy niin, että funktio palauttaa true
merkkinä siitä, että kaikki taulukon alkiot
ovat positiivisia.
Tee funktio, joka parametrina saa taulukon numeroita, ja tarkistaa, että kaikki tämän taulukon alkiot ovat parillisia numeroita.
Tee funktio, joka parametrina saa numeron ja tarkistaa, että kaikki numeron numerot ovat parittomia.
Tee funktio, joka parametrina saa taulukon ja tarkistaa, onko tässä taulukossa kaksi samanlaista alkiota peräkkäin.