Sobes.tech
Junior

Care este diferența dintre metodele filter și find în JavaScript?

sobes.tech AI

Răspuns de la AI

  • filter(): Returnează un nou array care conține toate elementele array-ului original pentru care funcția de callback a returnat o valoare adevărată. Dacă niciun element nu satisface condiția, se returnează un array gol.
  • find(): Returnează primul element din array-ul original pentru care funcția de callback a returnat o valoare adevărată. Dacă niciun element nu satisface condiția, se returnează undefined.
Metodă Valoare returnată Numărul de elemente în rezultat
filter() Array nou (chiar dacă este gol) Zero, unu sau mai multe
find() Valoarea primului element găsit sau undefined Zero (dacă nu a fost găsit) sau unu

Exemplu de filter:

const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers va fi [2, 4, 6]

Exemplu de find:

const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 3, name: 'Alice' }
];
const firstAlice = users.find(user => user.name === 'Alice');
// firstAlice va fi { id: 1, name: 'Alice' }