1
resposta

forEach pode ser utilizado ?

Daria pra ter o mesmo resultado com o forEach, ja que é um array?? Mas como acessar propriedades desses elemento do array?

1 resposta

Olá Laio, tudo bem?

Peço desculpa pela demora em obter uma resposta.

Podemos sim utilizar o forEach, como essa ferramenta ajuda a trabalhar com cada elemento de uma lista por vez, e nela podemos adicionar alguns parâmetros.

Adicionaremos 2 parâmetros que nos auxiliaram posteriormente quando quisermos tocar mais sons. O parâmetro para representar o elemento da lista tecla e o outro parâmetro que representa a posição atual da lista index. Confira no exemplo abaixo:

function tocaSomPom() { 
    document.querySelector('#som_tecla_pom').play();

}

const listaDeTeclas = document.querySelectorAll('.tecla');

let contador = 0;

listaDeTeclas.forEach(function(tecla, index) { 
    listaDeTeclas[index].onclick = tocaSomPom;
    tocaSomPom(index)

})

Com o uso do forEach passando a posição do elemento da lista de botões a partir da qual foi clicado, o valor que será passado para a função tocaSomPom será o correto e o seu código irá funcionar corretamente.

Se for de seu interesse entender mais sobre o forEach, vou estar deixando, logo abaixo, um artigo da Alura que fala um pouco mais sobre.

Caso tenha mais dúvidas ou problemas com relação a este tópico, estarei à disposição para ajudá-lo. Grande abraço!

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