Función de filtro de matriz de JavaScript

En JavaScript, la función de filtro de matriz es una forma útil de filtrar elementos específicos de una matriz. Esta función devuelve una nueva matriz con los elementos que cumplen con una condición específica. El filtro de matriz es una de las funciones de orden superior en JavaScript, lo que significa que toma una función como argumento. El uso de la función de filtro puede ahorrar tiempo al seleccionar elementos específicos de una matriz en lugar de tener que iterar manualmente sobre la matriz de elementos. En este artículo cubriremos cómo utilizar la función de filtro de matriz en JavaScript.
Sintaxis
La sintaxis de la función de filtro de matriz es la siguiente:
array.filter(function(currentValue, index, arr), thisValue)
Parámetros
La función de filtro de matriz tiene dos parámetros:
- currentValue: es el valor actual siendo procesado en la matriz.
- index: es el índice del valor actual siendo procesado en la matriz.
- arr: es la matriz en la que se está trabajando.
- thisValue (opcional): es el valor que se utiliza como “this” cuando se ejecuta la función de filtro.
Ejemplos de uso
Para utilizar la función de filtro de matriz, primero se debe definir la condición a cumplir. A continuación se muestra un ejemplo que filtra una matriz de números y devuelve solo los valores mayores a 5:
const numbers = [2, 5, 7, 9, 12, 15];
const filtered = numbers.filter(function(number) {
return number > 5;
});
// resultado: [7, 9, 12, 15]
También se puede utilizar una función de flecha como argumento para la función de filtro de matriz. El siguiente ejemplo es equivalente al ejemplo anterior:
const numbers = [2, 5, 7, 9, 12, 15];
const filtered = numbers.filter(number => number > 5);
// resultado: [7, 9, 12, 15]
Además de filtrar valores en una matriz, se puede utilizar la función de filtro para eliminar valores nulos, indefinidos o vacíos:
const arr = [1, 2, null, undefined, '', 0, 3];
const filtered = arr.filter(Boolean);
// resultado: [1, 2, 3]
Conclusión
La función de filtro de matriz de JavaScript es una herramienta poderosa para filtrar valores específicos de una matriz. Al utilizar esta función, se pueden ahorrar muchas líneas de código al comparar y seleccionar valores en una matriz. Siempre que se trabaje con matrices en JavaScript, la función de filtro debe ser considerada para hacer el trabajo de manera más simple.
Preguntas frecuentes
¿Puedo encadenar múltiples funciones de filtro de matriz?
Sí, es posible encadenar múltiples funciones de filtro de matriz varias veces. Esto se hace utilizando el resultado del filtro anterior como la entrada para el filtro siguiente. Ejemplo:
const numbers = [2, 5, 7, 9, 12, 15];
const filteredTwice = numbers.filter(number => number > 5)
.filter(number => number < 15);
// resultado: [7, 9, 12]
¿Puedo cambiar el valor de “this” en la función de filtro?
Sí, es posible cambiar el valor de “this” en la función de filtro de matriz utilizando el segundo parámetro de la función, thisValue.
¿Puedo usar la función de filtro en una matriz de objetos?
Sí, es posible utilizar la función de filtro de matriz en una matriz de objetos. La condición de filtro debe ser específica para el valor del objeto al que se está accediendo. Por ejemplo:
const people = [
{name: 'Juan', age: 30},
{name: 'Carlos', age: 25},
{name: 'Mario', age: 28}
];
const filtered = people.filter(person => person.age > 27);
// resultado: [{name: 'Juan', age: 30}, {name: 'Mario', age: 28}]
¿Qué sucede si la condición de la función de filtro es una función vacía?
Si la condición de la función de filtro está vacía o es falsa, la función de filtro de matriz devolverá una matriz vacía.
[nekopost slugs="detener-el-boton-de-retroceso-del-navegador-con-javascript,diferencia-entre-funciones-en-linea-y-anonima-javascript,mostrar-salida-en-javascript,agregue-una-matriz-a-otra-matriz-en-javascript,desactivar-el-boton-en-javascript-basado-en-la-condicion,encapsulacion-de-javascript,funciones-de-fabrica-en-javascript,la-funcion-devuelve-un-objeto-en-javascript,metodo-exec-de-javascript"]

Deja una respuesta