Junior
Qual é a diferença entre os métodos filter e find em JavaScript?
sobes.tech IA
Resposta da IA
filter(): Devolve um novo array contendo todos os elementos do array original para os quais a função de callback retornou um valor verdadeiro. Se nenhum elemento satisfizer a condição, é devolvido um array vazio.find(): Devolve o primeiro elemento do array original para o qual a função de callback retornou um valor verdadeiro. Se nenhum elemento satisfizer a condição, devolveundefined.
| Método | Valor devolvido | Número de elementos no resultado |
|---|---|---|
filter() |
Novo array (mesmo que vazio) | Zero, um ou vários |
find() |
Valor do primeiro elemento encontrado ou undefined |
Zero (se não encontrado) ou um |
Exemplo de filter:
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers será [2, 4, 6]
Exemplo 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 será { id: 1, name: 'Alice' }