Sobes.tech
Junior

Qual è la differenza tra i metodi filter e find in JavaScript?

sobes.tech AI

Risposta dell'AI

  • filter(): Restituisce un nuovo array contenente tutti gli elementi dell'array originale per i quali la funzione di callback ha restituito un valore vero. Se nessun elemento soddisfa la condizione, viene restituito un array vuoto.
  • find(): Restituisce il primo elemento dell'array originale per il quale la funzione di callback ha restituito un valore vero. Se nessun elemento soddisfa la condizione, viene restituito undefined.
Metodo Valore restituito Numero di elementi nel risultato
filter() Nuovo array (anche se vuoto) Zero, uno o più
find() Valore del primo elemento trovato o undefined Zero (se non trovato) o uno

Esempio di filter:

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

Esempio di find:

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