O método forEach() do Array JavaScript
Nesse tutorial você vai aprender como usar o método forEach()
do Array JavaScript para executar uma função em todos os elementos de um array.
English version: https://www.javascripttutorial.net/javascript-array-foreach/
Normalmente, quando você deseja executar uma função em cada elemento de um array, você usa um loop for
.
Por exemplo, o código a seguir gera todos os elementos de um array na janela de console, cada elemento por linha:
Resultado:
O Array JavaScript fornece o método forEach()
que permite executar uma função em cada elemento.
O código a seguir usa o método forEach()
equivalente ao exemplo do loopfor
mostrado acima:
Resultado:
O método forEach()
itera sobre os elementos de um array e executa uma função predefinida uma ver por elemento.
A seguir, mostramos a sintaxe do método forEach()
.
O método forEach()
usa dois argumentos:
- A função de retorno de chamada
callback
que o métodoforEach()
usa para executar em todos os elementos. - O
contextObject
usado pela função decallback
o que significa que você pode fazer referência aocontextObject
dentro da funçãocallback
usando a palavra-chavethis
.
Observe que a função forEach()
retorna undefined
portanto não é encadeada como outros métodos iterativos: filter(), map(), some(), every() e sort().
Uma limitação do método forEach()
em comparação com o loop for
é que você não pode usar a instrução break
com continue
para controlar o loop. Para finalizar o loop no método forEach()
, você deve lançar uma exceção dentro da função de callback
.
Exemplos de forEach()
Vamos dar uma olhada em um exemplo do método forEach()
que usa um contextObject
.
A seguir, mostramos a função do construtor Counter
:
Esse exemplo mostra como passar o objeto couter
para o método forEach()
:
Entenda como o código funciona:
- Primeiro, crie um novo objeto
Counter
. - Em seguida, defina um array de três números.
- Então, declare uma variável
sum
e atribua o valor zero para ela. - Depois disso, chame o método
forEach()
no arraynumbers
, na função decallback
adicione o valor do elemento à variávelsum
echame o métodoincrease()
do objetocounter
. Observe que o objetocounter
é referenciado comothis
dentro da funçãocallback
. - Por fim, registre o valor de
sum
e o valor atual do contadorcounter.current()
na janela de console.
Nesse tutorial você aprendeu como usar o método forEach()
do Array JavaScript para executar um retorno de chamada callback
em todos os elementos de um array.