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 restituitoundefined.
| 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' }