A filter metódus
A filter metódus lehetővé teszi a tömb
elemeinek szűrését, csak a feltételnek megfelelő
elemek megtartásával.
A metódus paraméterként egy függvényt kap, amely
minden tömb elemen lefut.
A metódus egy új tömböt ad vissza eredményül,
amelybe csak azok az elemek kerülnek bele,
amelyekre a megadott függvény true értéket ad vissza.
A függvénynek három paramétert lehet átadni. Ha ezek a paraméterek megvannak (nem kötelezőek), akkor az elsőbe automatikusan a tömb eleme, a másodikba a tömb beli sorszáma (indexe), a harmadikba pedig maga a tömb kerül.
Szintaxis
let új tömb = tömb.filter(function(elem, index, tömb) {
kód
return true vagy false
});
Példa
Szűrjük meg a tömböt úgy, hogy csak a pozitív számok maradjanak benne:
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);
A kód végrehajtásának eredménye:
[5, 1, 1, 3, 4]
Példa
Rövidítsük le a kódot nyíl függvények használatával:
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);
A kód végrehajtásának eredménye:
[5, 1, 1, 3, 4]
Példa
Rövidítsük le a kódot logikai műveletek rövidítésével:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
A kód végrehajtásának eredménye:
[5, 1, 1, 3, 4]
Példa
Rövidítsük le a kódot a nyíl függvények sajátosságainak kihasználásával:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
A kód végrehajtásának eredménye:
[5, 1, 1, 3, 4]
Példa
Szükség esetén a harmadik paraméterként átadható maga a tömb:
let res = arr.filter(function(elem, index, arr) {
itt elérhető lesz az arr tömb
});