Sobes.tech
Junior

¿Cuál es la diferencia entre los métodos filter y find en JavaScript?

sobes.tech AI

Respuesta de la IA

  • filter(): Devuelve un nuevo array que contiene todos los elementos del array original para los cuales la función de devolución de llamada devolvió un valor verdadero. Si ningún elemento cumple la condición, se devuelve un array vacío.
  • find(): Devuelve el primer elemento del array original para el cual la función de devolución de llamada devolvió un valor verdadero. Si ningún elemento cumple la condición, se devuelve undefined.
Método Valor devuelto Número de elementos en el resultado
filter() Nuevo array (incluso si está vacío) Cero, uno o varios
find() Valor del primer elemento encontrado o undefined Cero (si no se encuentra) o uno

Ejemplo de filter:

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

Ejemplo 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' }