O método de matriz filter()
cria uma nova matriz com elementos que se enquadram em um determinado critério a partir de uma matriz existente:
var numbers = [1, 3, 6, 8, 11];
var lucky = numbers.filter(function(number) {
return number > 7;
});
// [ 8, 11 ]
O exemplo acima recebe a matriz numbers
e retorna uma nova matriz filtrada com apenas os valores que são maiores que sete.
var newArray = array.filter(function(item) {
return condition;
});
O argumento item é uma referência ao elemento atual na matriz enquanto o filter() compara-o com a condition. Isso é útil para acessar as propriedades, no caso de objetos.
Se o item atual passa pela condição, é enviado para a nova matriz.
Um caso de uso comum do .filter() é com uma matriz de objetos através de suas propriedades:
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”} ]
Para mais detalhes sobre o filter()
, consule a referência na MDN.
O filter é apenas um dos vários métodos de iteração para matrizes no JavaScript. Leia Como usar métodos de iteração em matrizes no JavaScript para aprender mais sobre outros métodos como o map()
e reduce()
.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!