// Tutorial //

Método de matriz filter() no JavaScript

Published on November 12, 2020
Default avatar
By Ceferino IV Villareal
Developer and author at DigitalOcean.
Português
Método de matriz filter() no JavaScript

Introdução

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.

Sintaxe do filtro

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.

Filtrando uma matriz de objetos

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”} ]

Recursos adicionais

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.

Learn more about us


About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
Leave a comment
Leave a comment...

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!

Try DigitalOcean for free

Click here to Sign up and get $200 of credit to try our products over 60 days!