2
respostas

[Dúvida] Parâmetros

É correto afirmar que o primeiro parâmetro do forEach( ) retorna o dado (elemento) a grosso modo enquanto o segundo parâmetro retorna o índice onde está contido esse dado (elemento) em questão?

Minha afirmação se baseia nesse teste:

const alunos = ['Ana', 'Marcos', 'Maria', 'Mauro'];

alunos.forEach( (indice, aluno) => {
  console.log(`Índice: ${indice} -> Aluno: ${aluno}`);
})

Output:

Índice: Ana -> Aluno: 0
Índice: Marcos -> Aluno: 1
Índice: Maria -> Aluno: 2
Índice: Mauro -> Aluno: 3
2 respostas

Oi Rosemberg! Tudo certo?

Sua observação sobre o método forEach() está quase correta, mas há um pequeno engano na ordem dos parâmetros. No forEach(), o primeiro parâmetro da função callback é o elemento atual do array, e o segundo parâmetro é o índice desse elemento. No seu exemplo, você inverteu essa ordem, por isso o resultado não foi o esperado.

Aqui está o exemplo corrigido:

const alunos = ['Ana', 'Marcos', 'Maria', 'Mauro'];

alunos.forEach((aluno, indice) => {
  console.log(`Índice: ${indice} -> Aluno: ${aluno}`);
});

Com essa correção, o output será:

Índice: 0 -> Aluno: Ana
Índice: 1 -> Aluno: Marcos
Índice: 2 -> Aluno: Maria
Índice: 3 -> Aluno: Mauro

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Olá, Armano! Obrigado pelo retorno.

Eu inverti de propósito. Inverti para fins de teste e também para 'mostrar' em o que eu estava me baseando ao fazer a perguntar.

Inverter a ordem dos parâmetros deixou evidente para mim que o primeiro parâmetro corresponde ao elemento (à grosso modo), enquanto o segundo corresponde ao índice do elemento em questão.

A pergunta foi apenas para buscar uma resposta concreta de alguém que entende. Dito isso, mais uma vez obrigado!