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

javascriptlet ú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:

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);

A kód végrehajtásának eredménye:

javascript[5, 1, 1, 3, 4]

Példa

Rövidítsük le a kódot nyíl függvények használatával:

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);

A kód végrehajtásának eredménye:

javascript[5, 1, 1, 3, 4]

Példa

Rövidítsük le a kódot logikai műveletek rövidítésével:

javascriptlet 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:

javascript[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:

javascriptlet 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:

javascript[5, 1, 1, 3, 4]

Példa

Szükség esetén a harmadik paraméterként átadható maga a tömb:

javascriptlet res = arr.filter(function(elem, index, arr) {
  itt elérhető lesz az arr tömb
});

Lásd még

  • a map és forEach metódusok,
    amelyek lehetővé teszik egy függvény alkalmazását minden tömb elemen
  • a some és every metódusok,
    amelyek tömb ellenőrzést végeznek
  • a reduce és reduceRight metódusok,
    amelyek egy tömböt egyetlen értékké redukál