Meetod filter
Meetod filter võimaldab filtreerida
massiivi elemente, jättes alles ainult need elemendid,
mis vastavad teatud tingimusele.
Meetod saab parameetrina funktsiooni, mis
käivitatakse iga massiivi elemendi puhul.
Meetod tagastab uue
massiivi, millesse kuuluvad ainult need elemendid,
mille puhul etteantud funktsioon tagastab true.
Funktsioonile saab edastada kolm parameetrit. Kui need parameetrid on olemas (need pole kohustuslikud), siis esimesse satub automaatselt massiivi element, teise satub selle järjekorranumber massiivis (indeks) ja kolmandasse - massiiv ise.
Süntaks
javascriptlet uus_massiiv = massiiv.filter(function(element, indeks, massiiv) {
kood
return true või false
});
Näide
Filtreerime massiivi, jättes sellesse ainult positiivsed arvud:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Koodi täitmise tulemus:
javascript[5, 1, 1, 3, 4]
Näide
Lühendame koodi, kasutades noolfunktsiooni:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Koodi täitmise tulemus:
javascript[5, 1, 1, 3, 4]
Näide
Lühendame koodi, kasutades loogiliste tehete lühendeid:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Koodi täitmise tulemus:
javascript[5, 1, 1, 3, 4]
Näide
Lühendame koodi, kasutades noolfunktsioonide omadusi:
javascriptlet arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Koodi täitmise tulemus:
javascript[5, 1, 1, 3, 4]
Näide
Vajadusel saab kolmanda parameetrina edastada massiivi ise:
javascriptlet res = arr.filter(function(elem, index, arr) {
siin on kättesaadav massiiv arr
});