Tutoriales Interactivos
BlogIniciar sesiónComenzar gratis
Inicio›Blog›JavaScript›Cómo funciona filter() en JavaScript

Cómo funciona filter() en JavaScript

Tienes una lista de productos y quieres quedarte solo con los que cuestan menos de 5000. Tienes una lista de usuarios y quieres los que están activos. Para ese tipo de operación — filtrar elementos de un array según una condición — JavaScript tiene filter().

¿Qué hace filter()?

filter() recorre un array y devuelve un nuevo array con los elementos que cumplen la condición que tú defines. Los elementos que no la cumplen quedan fuera. El array original no se modifica.

Sintaxis

const resultado = array.filter(function(elemento) {
  return condicion; // true = incluir, false = excluir
});

O con arrow function:

const resultado = array.filter(elemento => condicion);

Ejemplo 1: filtrar números

const numeros = [1, 8, 3, 12, 5, 20, 7];

const mayoresQueDiez = numeros.filter(n => n > 10);

console.log(mayoresQueDiez); // [12, 20]

filter prueba cada número con la condición n > 10 y construye un nuevo array con los que devuelven true.

Ejemplo 2: filtrar objetos

const productos = [
  { nombre: 'Laptop', precio: 850000 },
  { nombre: 'Mouse', precio: 25000 },
  { nombre: 'Teclado', precio: 45000 },
  { nombre: 'Monitor', precio: 320000 },
];

const baratos = productos.filter(p => p.precio < 50000);

console.log(baratos);
// [{ nombre: 'Mouse', precio: 25000 }, { nombre: 'Teclado', precio: 45000 }]

Ejemplo 3: filtrar strings

const nombres = ['Ana', 'Carlos', 'Alberto', 'María', 'Andrés'];

const queEmpiezanConA = nombres.filter(n => n.startsWith('A'));

console.log(queEmpiezanConA); // ['Ana', 'Alberto', 'Andrés']

Comparación con un for loop

filter hace lo mismo que esto pero de forma más concisa:

// Con for
const resultado = [];
for (let n of numeros) {
  if (n > 10) resultado.push(n);
}

// Con filter
const resultado = numeros.filter(n => n > 10);

Errores frecuentes

Olvidar el return: Si usas llaves {} en la función de filter, necesitas return explícito. Sin return, la función devuelve undefined (falsy) y ningún elemento pasa el filtro.

Esperar que modifique el array original: filter siempre devuelve un nuevo array. El original no cambia. Debes guardar el resultado en una variable.

Usar filter cuando necesitas forEach: Si solo quieres hacer algo con cada elemento (sin filtrar), usa forEach. filter es para cuando necesitas un subconjunto del array.

Aprende haciendo, no solo leyendo

Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de JavaScript y recibes corrección inmediata de IA.

Comenzar gratis →
Desafío Latam
+56 9 5117 7975
+52 1 55 4047 7251
[email protected]

Carreras

  • Full Stack JavaScript
  • Diseño UX/UI
  • Data Science
  • Data Analytics

Comunidad

  • Blog
  • Becas
  • Trabaja con Nosotros
  • Políticas de Calidad

Síguenos

© 2026 Desafío Latam. Todos los derechos reservados.