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
let uus_massiiv = massiiv.filter(function(element, indeks, massiiv) {
kood
return true või false
});
Näide
Filtreerime massiivi, jättes sellesse ainult positiivsed arvud:
let 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:
[5, 1, 1, 3, 4]
Näide
Lühendame koodi, kasutades noolfunktsiooni:
let 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:
[5, 1, 1, 3, 4]
Näide
Lühendame koodi, kasutades loogiliste tehete lühendeid:
let 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:
[5, 1, 1, 3, 4]
Näide
Lühendame koodi, kasutades noolfunktsioonide omadusi:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Koodi täitmise tulemus:
[5, 1, 1, 3, 4]
Näide
Vajadusel saab kolmanda parameetrina edastada massiivi ise:
let res = arr.filter(function(elem, index, arr) {
siin on kättesaadav massiiv arr
});