Sintaxe:
yourArray.filter(function(p1, p2, p3){
// your code
});
-
filter() é usada para filtrar itens de um array
-
Função de callback retorna 3 parâmetros
- p1: Os intens do array
- p2: As chaves do array
- p3: O array que foi passado
-
Antes do método filter() poderia obter o mesmo resultado com o método for()
Exemplo com método for()
var filmes = [
{categoria: 'suspense', titulo: 'Ilha do medo', ano: 2010},
{categoria: 'suspense', titulo: 'Amnésia', ano: 2015},
{categoria: 'terror', titulo: 'Verónica', ano: 2017},
{categoria: 'terror', titulo: 'Possessão', ano: 2012},
{categoria: 'brasileiro', titulo: 'Tropa de elite', ano: 2008},
{categoria: 'brasileiro', titulo: 'Faroeste caboclo', ano: 2013}
];
var filmesSuspense = [];
for(var i = 0; i < filmes.length; i++){
if(filmes[i].categoria === 'suspense'){
filmesSuspense.push(filmes[i]);
}
}
console.log(filmesSuspense);
/*
resultado
[
{ categoria: 'suspense', titulo: 'Ilha do medo', ano: 2010 },
{ categoria: 'suspense', titulo: 'Amnésia', ano: 2015 }
]
*/
Exemplo com método filter()
// USANDO O MESMO ARRAY filmes DEFINIDO ACIMA
var filmesBrasileiro = filmes.filter(function(p1,p2,p3){
return p1.categoria == 'brasileiro';
});
console.log(filmesBrasileiro);
/*
resultado
[
{ categoria: 'brasileiro', titulo: 'Tropa de elite', ano: 2008 },
{ categoria: 'brasileiro', titulo: 'Faroeste caboclo', ano: 2013 }
]
*/