Cómo filtrar un array en JavaScript

Javascript

En este tutorial vamos a ver cómo puedes filtrar los elementos de un array, obteniendo así un nuevo array que solamente incluya algunos de los elementos del original en base a las condiciones deseadas. Para ello, JavaScript dispone del método filter, implementado en todos los arrays.

Vamos a poner el siguiente array como ejemplo, en el que tenemos los nombres, apellidos y edades de tres personas diferentes:

const personas = [
  {
    nombre: 'Edu',
    apellido: 'Lazaro',
    edad: 35,
  },
  {
    name: 'Manual',
    apellido: 'Martínez',
    edad: 25,
  },
  {
    name: 'Sofía',
    apellido: 'Martínez',
    edad: 21,
  },
];

Nuestra intención es la de crear un nuevo array que contenga solamente aquellas personas cuya edad sea menor de 30 años, con lo cual yo, que tengo 35, me quedaría fuera 😔.

Para lograr nuestro cometido vamos a usar el método filter, que acepta una función como parámetro. El método filter iterará los elementos del array, ejecutando la función con el elemento de la iteración actual del array como parámetro de la misma. Si la función devuelve el valor true, el elemento del array se conservará. Si devuelve false, se descartará.

const personasFiltradas = personas.filter(
  (persona) => persona.edad < 30
);

console.log(personasFiltradas);

Este sería el valor del nuevo array personasFiltradas que hemos obtenido como resultado:

[
  {
    name: 'Manual',
    apellido: 'Martínez',
    edad: 25,
  },
  {
    name: 'Sofía',
    apellido: 'Martínez',
    edad: 21,
  },
]

Además de devolver true, los elementos también se conservarán en el array siempre y cuando la expresión que se devuelva se evalúe como positiva. Si se evalúa como negativa, se descartarán.

Esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”