Metodas filter
Metodas filter leidžia išfiltruoti
masyvo elementus, paliekant tik tuos,
kurie atitinka tam sąlygas.
Metodas parametruose gauna funkciją, kuri
bus vykdyta kiekvienam masyvo elementui.
Metodas grąžina naują masyvą, į kurį pateks tik tie elementai,
kuriems perduota funkcija grąžins true.
Į funkciją galima perduoti tris parametrus. Jei šie parametrai yra (jie nėra privalomi), tada pirmasis automatiškai gaus masyvo elementą, antrasis gaus jo numerį masyve (indeksą), o trečiasis - patį masyvą.
Sintaksė
let naujasMasyvas = masyvas.filter(function(elementas, indeksas, masyvas) {
kodas
return true arba false
});
Pavyzdys
Išfiltruokime masyvą, palikdami jame tik teigiamus skaičius:
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);
Kodo vykdymo rezultatas:
[5, 1, 1, 3, 4]
Pavyzdys
Sutrumpinkime kodą, pasinaudoję rodykline funkcija:
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);
Kodo vykdymo rezultatas:
[5, 1, 1, 3, 4]
Pavyzdys
Sutrumpinkime kodą, pasinaudoję loginių operacijų sutrumpinimais:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Kodo vykdymo rezultatas:
[5, 1, 1, 3, 4]
Pavyzdys
Sutrumpinkime kodą, pasinaudoję rodyklių funkcijų ypatumais:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Kodo vykdymo rezultatas:
[5, 1, 1, 3, 4]
Pavyzdys
Jei reikia, į trečią parametrą galima perduoti patį masyvą:
let res = arr.filter(function(elem, index, arr) {
čia bus prieinamas masyvas arr
});