Estou em duvidas quando devo utilizar o contador ou o indice e qual a diferença entre eles. Percebo que em muitos casos eles funcionam da mesma forma e não estou entendendo o motivo da escolha.
Desde já agradeço se alguém puder me ajudar.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Estou em duvidas quando devo utilizar o contador ou o indice e qual a diferença entre eles. Percebo que em muitos casos eles funcionam da mesma forma e não estou entendendo o motivo da escolha.
Desde já agradeço se alguém puder me ajudar.
Olá Isabel, tudo bem?
Primeiramente queria lhe agradecer pela espera em receber uma resposta.
A sua dúvida é muito contextual, pois em muitos casos o índice é a mesma coisa que o contador (inclusive no próprio gabarito da atividade que você reportou no tópico). Mas como assim? Bom, para explicar de forma clara vou lhe mostrar o que é índice e o que é contador dentro da programação. Vamos lá:
Exemplo:
const listaDeCompras = [leite, ovo, carne];
console.log("listaDeCompras[1]");
(Neste caso, o índice 1 corresponde ao elemento ovo do array listaDeCompras.)
for e while). Lembrando que existem diferentes formas de se escrever o contador.Exemplo:
for (let contador = 0; contador <= 10; contador++) {
console.log("Uma frase qualquer");
}
(Neste caso, no final de cada loop do for acima, a variável contador vai ser incrementada em +1, até que o seu valor satisfaça a condição.)
Agora que você sabe a diferença teórica e prática de cada conceito, podemos pegar o exemplo do gabarito:
for (let indice = 0; indice < listaDeTeclas.length; indice++) {
const tecla = listaDeTeclas[indice];
Neste último caso, a variável que corresponde ao contador do laço for é a mesma utilizada para indicar o índice do array listaDeTeclas. Logo ela desempenha as duas funções, o que acontece com bastante frequência mas não é obrigatório, e foi isso que lhe causou confusão.
Espero ter te ajudado e em caso de mais dúvidas, me coloco à disposição.
Grande abraço e bons estudos!