Sobes.tech
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, devolve undefined.
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' }