filter în JavaScript

Tablouri (array) ES5 (toate browserele moderne)

Creează un tablou nou doar cu elementele care îndeplinesc o condiție.

Sintaxă
tablou.filter((element, indice) => conditie)

Ce face filter

filter apelează funcția pentru fiecare element. Elementele pentru care funcția returnează o valoare adevărată intră în tabloul nou, iar celelalte sunt lăsate deoparte.

Tabloul original nu se modifică. Dacă niciun element nu se potrivește, primești un tablou gol [].

Parametri

Parametru Descriere
element Elementul curent.
indice Opțional. Poziția elementului.

Ce returnează

Un tablou nou, posibil gol.

Exemple

Exemplul 1: Numere mai mari decât o limită

const note = [4, 9, 7, 3, 10];

console.log(note.filter((nota) => nota >= 5));

Rezultat

[ 9, 7, 10 ]

Exemplul 2: Produse în stoc

const produse = [
  { nume: "Laptop", stoc: 3 },
  { nume: "Monitor", stoc: 0 },
  { nume: "Mouse", stoc: 12 },
];

const disponibile = produse.filter((p) => p.stoc > 0);
console.log(disponibile.map((p) => p.nume));

Rezultat

[ 'Laptop', 'Mouse' ]

Exemplul 3: Eliminarea valorilor goale

const campuri = ["Ana", "", null, "Cluj", undefined];

console.log(campuri.filter(Boolean));

Rezultat

[ 'Ana', 'Cluj' ]

Greșeli frecvente

  • Folosești filter când vrei un singur element și apoi scrii [0]. Metoda find face asta direct și se oprește la primul rezultat.

Comenzi înrudite

  • map: Creează un tablou nou, transformând fiecare element cu o funcție.
  • find: Returnează primul element care îndeplinește o condiție.
  • reduce: Combină toate elementele unui tablou într-o singură valoare: o sumă, un obiect, un text.