O array é percorrido da esquerda para direita invocando, a cada iteração, uma função de retorno.
O valor retornado é um booleano indicando se o elemento deve ser mantido (true) ou descartado (false). O array retornado contém apenas os elementos que retornaram verdadeiro.
<aside> 💡 Usamos filter() quando precisamos remover alguns itens do array com base em algum critério
</aside>
Remover itens duplicados de um array
let uniqueArray = array.filter(
function( elem, index, array ) {
return array.indexOf( elem ) === index;
}
);
// [1, 4, 7, 2, 1, 3, 7]
// [1, 4, 7, 2, 3]
array.filter( function( elem, index, array ) {
...
}, thisArg );