URL: https://www.progressiverobot.com/js-filter-array-method-es/

Introducción

El método de matriz filter() crea una nueva matriz con elementos que caen bajo un criterio dado a partir de una matriz existente:

				
					
var numbers = [1, 3, 6, 8, 11];



var lucky = numbers.filter(function(number) {

  return number > 7;

});



// [ 8, 11 ]

				
			

El ejemplo anterior toma la matriz numbers y devuelve una nueva matriz filtrada con solo los valores que son mayores a siete.

Sintaxis del filtro

matriz illustration for: Sintaxis del filtro
				
					
var newArray = array.filter(function(item) {

  return condition;

});

				
			

El argumento <^>item<^> es una referencia al elemento actual en la matriz, ya que filter() lo comprueba contra <^>condition<^>. Esto es útil para acceder a propiedades, en el caso de objetos.

Si el <^>item<^> actual pasa la condición, se envía a una nueva matriz.

Filtrar una matriz de objetos

.filter() se suele usar frecuentemente con una matriz de objetos mediante sus propiedades:

				
					
var heroes = [

    {name: “Batman”, franchise: “DC”},

    {name: “Ironman”, franchise: “Marvel”},

    {name: “Thor”, franchise: “Marvel”},

    {name: “Superman”, franchise: “DC”}

];



var marvelHeroes =  heroes.filter(function(hero) {

    return hero.franchise == “Marvel”;

});



// [ {name: “Ironman”, franchise: “Marvel”}, {name: “Thor”, franchise: “Marvel”} ]

				
			

Otros recursos

Para obtener más información sobre filter(), consulte las referencias de MDN.

El filtro es uno de los varios métodos de iteración en matrices en JavaScript; lea Cómo usar los métodos de iteración con matrices en JavaScript para obtener más información sobre los otros métodos como map() y reduce().