En JavaScript, los arreglos son una estructura de datos muy utilizada. Son una forma eficiente de almacenar y acceder a múltiples elementos de datos. Un método muy útil de los arreglos en JavaScript es filter(). Este método permite crear un nuevo arreglo a partir de otro, seleccionando sólo los elementos que cumplen con una determinada condición. En este post, exploraremos cómo funciona exactamente el método filter() y cómo puede ser utilizado en tus proyectos JavaScript.
Utilizando el método filter()
El método filter() toma una función como argumento y devuelve un nuevo arreglo que contiene sólo los elementos del arreglo original para los cuales la función devuelve true. La función que se pasa como argumento debe tomar un elemento del arreglo original como parámetro y devolver true o false para indicar si el elemento debe ser incluido en el nuevo arreglo o no. Por ejemplo:const numeros = [1, 2, 3, 4, 5, 6];
const numerosPares = numeros.filter(function(numero) {
return numero % 2 === 0;
});
console.log(numerosPares); // [2, 4, 6]
En este ejemplo, filter() se utiliza para crear un nuevo arreglo (`numerosPares`) que contiene sólo los números pares del arreglo original (`numeros`). La función pasada como argumento comprueba si el número es divisible por 2 y devuelve true si es así.
Filtrando objetos en un arreglo
El método filter() también puede ser utilizado para filtrar objetos en un arreglo. Por ejemplo, si tenemos un arreglo de objetos que representan personas, podríamos utilizar filter() para seleccionar sólo las personas mayores de 18 años:const personas = [
{nombre: "Juan", edad: 22},
{nombre: "Ana", edad: 17},
{nombre: "Pedro", edad: 27},
{nombre: "María", edad: 15},
{nombre: "Carlos", edad: 19}
];
const personasMayores = personas.filter(function(persona) {
return persona.edad >= 18;
});
console.log(personasMayores); // [{nombre: "Juan", edad: 22}, {nombre: "Pedro", edad: 27}, {nombre: "Carlos", edad: 19}]
En este ejemplo, filter() se utiliza para crear un nuevo arreglo (`personasMayores`) que contiene sólo los objetos del arreglo original (`personas`) para los cuales la función devuelve true. La función comprueba si la propiedad `edad` del objeto es mayor o igual a 18 y devuelve true si es así.
Combinando filter() con otros métodos de arreglo
El método filter() puede ser combinado con otros métodos de arreglo para realizar operaciones más complejas. Por ejemplo, podemos utilizar filter() y map() juntos para crear un nuevo arreglo que contenga sólo los nombres de las personas mayores de 18 años:const nombresMayores = personas.filter(function(persona) {
return persona.edad >= 18;
}).map(function(persona) {
return persona.nombre;
});
console.log(nombresMayores); // ["Juan", "Pedro", "Carlos"]
En este ejemplo, primero utilizamos filter() para crear un nuevo arreglo que contenga sólo los objetos del arreglo original para los cuales la función devuelve true. Luego, utilizamos map() para crear un nuevo arreglo que contenga sólo los nombres de las personas en el nuevo arreglo.
Comentarios
Publicar un comentario