O método every() do Array JavaScript
Determinando se todos os elementos do array são aprovados em um teste
Neste tutorial você aprenderá como verificar se todos os elementos do array são aprovados em um teste usando o método every() do Array JavaScript.
English version: https://www.javascripttutorial.net/javascript-every/
Verificando usando o loop for
As vezes você precisa testar se todos os elementos de um array satisfazem uma condição específica.
Normalmente você usa um loop for para iterar todos os elementos e comparar cada um individualmente com alguma condição. Suponha que você tenha um array number com três elementos:
O código a seguir verifica se todos os elementos no array numbers são maiores que zero:
Resultado:
Entenda como esse código funciona:
- Primeiro, inicialize a variável
resultcomotrue. - Segundo, itere (repita) sobre os elementos do array
numberse verifique se cada elemento é menor ou igual a zero, um de cada vez. Caso nenhum elemento for igual a zero, o valor da variávelresultpermanecetrue.
Este código é simples e direto, mas também é bastante detalhado (extenso).
O tipo Array do JavaScript fornece o método every() que permite verificar se todos os elementos de um array são aprovados em um teste de maneira mais curta.
Introdução ao método every()
A partir do ES5, o tipo Array do JavaScript fornece um método chamado every() que testa todos os elementos do array.
O exemplo a seguir usa o every() para verificar se cada elemento do array numbers é maior que zero:
Resultado:
Usando arrow funcrions (funções de seta), introduzidas pelo ES6, o código pode ser ainda mais curto:
Veja como encurtar o código de uma função com arrow function:
Acima você pode conferir 3 maneiras de escrever a mesma função, todas vão funcionar da mesma forma e retornar o mesmo resultado.
Get Ricardo Reis’s stories in your inbox
Join Medium for free to get updates from this writer.
A seguir, confira a sintaxe do método every():
O método every() aceita dois argumentos chamados: callback e thisArg.
1) O argumento callback
O callback (retorno de chamada) é uma função que testa cada elemento do array. A função callback() tem o seguinte formato:
A função de callback usa três argumentos:
- Primeiro, o
currentElementé o elemento atual que está sendo processado. - Segundo, o
indexé o índice docurrentElement. - Terceiro, o
arrayé o array no qual o métodoevery()foi chamado.
O argumento currentElement é obrigatório, enquanto os argumentos index e array são opcionais.
2) O argumento thisArg
O argumento thisArg do método every() é opcional.
Se você usar o argumento thisArg no método, o valor this dentro da função callback (função de retorno de chamada) fará referência ao argumento thisArg.
O método every() retorna true se a função callback retorna um valor verdadeiro para cada elemento do array; caso contrário, o método every() vai retornar false.
Observe que o método every() executa a função callback em todos os elementos do array até ele encontrar um que causar um retorno false.
Em outras palavras, o métodoevery() irá parar de chamar a função callback() assim ela (a função callback) retornar o primeiro false.
Vamos dar uma olhada em mais alguns exemplos de como usar o método every().
O exemplo a seguir testa se todos os elementos do array são números pares.
Resultado:
Por outro lado, o exemplo a seguir testa se todos os elementos do array são números ímpares.
Resultado:
Suponha que você tenha um objeto com duas propriedades: min e max:
O exemplo a seguir testa se todos os elementos do array numbers estão no intervalo especificado nas propriedades min e max do objeto range:
Resultado:
Neste exemplo, passamos o objeto range para o método every() como sendo o segundo parâmetro. E dentro da função callback(), fazemos referência ao objeto range usando a palavra-chave this.
Cuidado: arrays vazios
Se você chamar o método every() em um array vazio, o método sempre retornará true para qualquer condição. Por exemplo:
Resultado:
Neste tutorial, você aprendeu como usar o método every() do Array para testar se todos os elementos em um array passam no teste fornecido por uma função de teste.








