Filtro de matriz de JavaScript ()
Ejemplo 1
Devuelve una matriz de todos los valores en edades[] que tienen 18 años o más:
const ages = [32, 33, 16, 40];
const result = ages.filter(checkAdult);
function checkAdult(age) {
return age >= 18;
}
Definición y uso
El filter()
método crea una nueva matriz llena de elementos que pasan una prueba proporcionada por una función.
El filter()
método no ejecuta la función para elementos vacíos.
El filter()
método no cambia la matriz original.
Sintaxis
array.filter(function(currentValue, index, arr), thisValue)
Parámetros
Parameter | Description |
function() | Required. A function to run for each array element. |
currentValue | Required. The value of the current element. |
index | Optional. The index of the current element. |
arr | Optional. The array of the current element. |
thisValue | Optional. Default undefined A value passed to the function as its this value. |
Valor devuelto
Escribe | Descripción |
Una matriz |
Que contiene los elementos que pasan la prueba. Si ningún elemento pasa la prueba, devuelve una matriz vacía. |
Compatibilidad con navegador
filter()
es una característica de ECMAScript5 (ES5).
ES5 (JavaScript 2009) totalmente compatible con todos los navegadores:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | 9-11 | Yes | Yes | Yes | Yes |
Ejemplo 2
Devuelve los valores en edades[] que están por encima de un número específico:
<p><input type="number" id="ageToCheck" value="30"></p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
const ages = [32, 33, 12, 40];
function checkAge(age) {
return age > document.getElementById("ageToCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAge);
}
</script>