Sitemap
Press enter or click to view image in full size

O método every() do Array JavaScript

5 min readMay 24, 2020

--

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:

Press enter or click to view image in full size

O código a seguir verifica se todos os elementos no array numbers são maiores que zero:

Press enter or click to view image in full size

Resultado:

Press enter or click to view image in full size

Entenda como esse código funciona:

  • Primeiro, inicialize a variável result como true.
  • Segundo, itere (repita) sobre os elementos do array numbers e verifique se cada elemento é menor ou igual a zero, um de cada vez. Caso nenhum elemento for igual a zero, o valor da variável result permanece true.

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:

Press enter or click to view image in full size

Resultado:

Press enter or click to view image in full size

Usando arrow funcrions (funções de seta), introduzidas pelo ES6, o código pode ser ainda mais curto:

Press enter or click to view image in full size

Veja como encurtar o código de uma função com arrow function:

Press enter or click to view image in full size

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():

Press enter or click to view image in full size

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:

Press enter or click to view image in full size

A função de callback usa três argumentos:

  • Primeiro, o currentElement é o elemento atual que está sendo processado.
  • Segundo, o index é o índice do currentElement.
  • Terceiro, o array é o array no qual o método every() 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.

Press enter or click to view image in full size

Resultado:

Press enter or click to view image in full size

Por outro lado, o exemplo a seguir testa se todos os elementos do array são números ímpares.

Press enter or click to view image in full size

Resultado:

Press enter or click to view image in full size

Suponha que você tenha um objeto com duas propriedades: min e max:

Press enter or click to view image in full size

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:

Press enter or click to view image in full size

Resultado:

Press enter or click to view image in full size

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:

Press enter or click to view image in full size

Resultado:

Press enter or click to view image in full size

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.

Veja o índice de todos os tutoriais JavaScript

--

--