Blog


Método filter() de Javascript para filtrar elementos de un arreglo

MÉTODO FILTER() DE JAVASCRIPT PARA FILTRAR ELEMENTOS DE UN ARREGLO

20 / 01 / 2023 Otros

El método filter() de JavaScript es una herramienta muy útil para filtrar elementos de un arreglo en base a ciertas condiciones. Funciona recorriendo cada elemento del arreglo y aplicando una función de filtro a cada uno. La función de filtro recibe cada elemento como argumento y debe devolver true o false, dependiendo de si el elemento cumple o no ciertas condiciones. Los elementos del arreglo que cumplen las condiciones se incluyen en el nuevo arreglo, mientras que los que no cumplen se descartan.

Vamos a ver su funcionamiento con algunos ejemplos.

En este ejemplo de uso de filter() se obtienen solo los números pares de un arreglo de números:

let numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let pares = numeros.filter(function(numero) {
  return numero % 2 == 0;
});
console.log(pares); 
// [2, 4, 6, 8, 10]

La función de filtro comprueba si el número es par (es decir, si el resto al dividir entre 2 es igual a 0) y devuelve true si lo es. Los números pares se incluyen en el nuevo arreglo "pares" y los impares se descartan.

Otro ejemplo es para obtener solo los objetos de un arreglo de objetos que cumplen cierta condición:

let personas = [
  { nombre: "Juan", edad: 30 },
  { nombre: "Maria", edad: 25 },
  { nombre: "Pedro", edad: 35 },
  { nombre: "Ana", edad: 20 }
];
let mayores = personas.filter(function(persona) {
  return persona.edad >= 30;
});
console.log(mayores);
// [
//   { nombre: "Juan", edad: 30 },
//   { nombre: "Pedro", edad: 35 }
// ]

En este ejemplo, la función de filtro comprueba si la edad de la persona es mayor o igual a 30 y devuelve true si lo es. Los objetos del arreglo que cumplen la condición se incluyen en el nuevo arreglo "mayores" y los que no cumplen se descartan.

Un más ejemplo de uso de filter() para obtener solo los elementos de un arreglo que contengan una determinada letra:

let palabras = ["casa", "perro", "gato", "mesa", "silla"];
let conS = palabras.filter(function(palabra) {
  return palabra.includes("s");
});
console.log(conS); 
// ["casa", "mesa", "silla"]

En este ejemplo, la función de filtro comprueba si la palabra incluye la letra "s" y devuelve true si lo es. Las palabras que cumplen la condición se incluyen en el nuevo arreglo "conS" y las que no cumplen se descartan.

Un último ejemplo donde se obtienen solo los objetos de un arreglo que tengan una determinada propiedad:

let objetos = [
  { nombre: "objeto 1", color: "rojo" },
  { nombre: "objeto 2", color: "verde" },
  { nombre: "objeto 3" },
  { nombre: "objeto 4", color: "azul" }
];
let conColor = objetos.filter(function(objeto) {
  return objeto.hasOwnProperty("color");
});
console.log(conColor);
// [
//   { nombre: "objeto 1", color: "rojo" },
//   { nombre: "objeto 2", color: "verde" },
//   { nombre: "objeto 4", color: "azul" }
// ]

En este ejemplo, la función de filtro comprueba si el objeto tiene la propiedad "color" y devuelve true si lo tiene. Los objetos del arreglo que cumplen la condición se incluyen en el nuevo arreglo "conColor" y los que no cumplen se descartan.



ARTÍCULOS RELACIONADOS