Olá Leonardo, tudo certo?
O forEach é um método que tem como função, percorrer todos os elementos de um array e executar uma função para cada um deles. Pegando o primeiro exemplo que você postou, a função anônima, declarada dentro do forEach
, não recebeu nenhum parâmetro, por isso ela não conseguiu acessar os elementos do array, ou trabalhar com eles. Ela só imprime a string "oi" quatro vezes, que é a quantidade de elementos do array.
Já no segundo exemplo, a função anônima recebeu um parâmetro chamado "nota", que representa cada elemento do array "notas". Ou seja, a cada iteração do forEach, a função imprime o valor do elemento atual.
Para acessar o índice de cada elemento, basta adicionar um segundo parâmetro na função anônima, que representa o índice do elemento atual. Por exemplo:
const notas = [10, 6.5, 8, 7.5]
notas.forEach(function (nota, indice) {
console.log("Nota " + indice + ": " + nota)
})
Nesse caso, a função anônima recebe dois parâmetros: "nota" e "indice". A cada iteração do forEach, a função imprime o valor do elemento atual e o seu índice correspondente.
Como indicação, deixo esse artigo da Alura que fala sobre o forEach
é outro método bem interessante o map
.
Espero que eu tenha lhe ajudado, caso ainda tenha dúvidas com relação a este tópico, estarei a sua disposição. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!