JavaScript Array filter()

Definição e uso

filter() O método cria um array preenchido com todos os elementos do array que passaram pelo teste (como função fornecida).

Observação:filter() Não executa a função para elementos de array sem valor.

Observação:filter() Não altera o array original.

Exemplo

Exemplo 1

Retorna um array composto por todos os valores da array "ages" que são 18 anos ou mais velhos:

var ages = [32, 33, 16, 40];
function checkAdult(age) {
  return age >= 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

Experimente você mesmo

Exemplo 2

Retorna um array composto por todos os valores da array "ages" que são maiores ou iguais a um número específico:

<p>Idade mínima: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Experimente</button>
<p>Todas as idades acima do mínimo: <span id="demo"></span></p>
<script>
var ages = [32, 33, 12, 40];
function checkAdult(age) {
  return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
</script>

Experimente você mesmo

Sintaxe

array.filter(function(currentValue, index, arr, thisValue)

Valor do parâmetro

Parâmetros Descrição
function(currentValue, index, arr) Obrigatório. A função executada para cada elemento do array.

Parâmetros da função:

Parâmetros Descrição
currentValue Obrigatório. O valor do elemento atual.
index Opcional. O índice do array do elemento atual.
arr Opcional. O objeto de array ao qual o elemento atual pertence.
thisValue

Opcional. O valor a ser passado para a função para usar como seu valor "this".

Se este parâmetro estiver vazio, o valor "undefined" será passado como seu valor "this".

Detalhes técnicos

Retorno: Um array que contém todos os elementos do array que passaram pelo teste. Se nenhum elemento passar pelo teste, retorna um array vazio.
Versão do JavaScript: ECMAScript 5

Suporte do navegador

Todos os navegadores suportam completamente filter() Método:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Suporte 9.0 Suporte Suporte Suporte Suporte

Páginas relacionadas

Tutorial:Array do JavaScript

Tutorial:Const do Array do JavaScript

Tutorial:Métodos de Array do JavaScript

Tutorial:Arranjar array do JavaScript

Tutorial:Iteração de Array do JavaScript