Não entendi por qual motivo a resposta foi:
var letras = ['A', 'B', 'C', 'D'];
for( var i = 0; i < letras.length; i++ ) {
alert(letras[i]);
}Alguém poderia me dar um norte neste exercício?
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!
Não entendi por qual motivo a resposta foi:
var letras = ['A', 'B', 'C', 'D'];
for( var i = 0; i < letras.length; i++ ) {
alert(letras[i]);
}Alguém poderia me dar um norte neste exercício?
Boa noite Ednaldo, quando você declara um vetor, ele por padrão inicia com a primeira casa sendo a 0 exemplo:
letras[0] = 'A'
letras[1] = 'B'
letras[2] = 'C'
letras[3] = 'D'
letras[4] = undefildEntão quando ele monta a estrutura de repetição o for ele inicia com o valor var i = 0, então a condição e testada depois, i é menor que letras.length ou seja 0 é menor que 3. Ele tem que usar menor por que como começa zero e o limite do vetor de 0 a três, se usássemos o '<=' iriamos para o letras[4] que estaria o quinto valor por que começou a contar com o zero
Todo Array começa da posição 0 então vc não pode colocar para iniciar a contagem aparte do 1 por exemplo
for( var i = 1; i <= letras.length; i++ ) {
alert(letras[i]);
}
isso mesmo, mas nesse exemplo você começou sua variável i valendo 1, quando começa valendo 1 o '<=' funciona, mas quando começa o i começa com 0 só se usa o '<' vai contando manualmente dos dois jeitos.
for(var i = 0; i< 3; i++){
mostra(i);
}
for(var i = 1; i<=3; i++){
mostra(i);
}faz esse condigo que você vai ver essa lógica funcionando.
Não pode ser <=, tem que ser somente < porque o 4 item é o último, a contagem começa de 0 á 3, sendo o total de 4 e a lógica não poder contar com o 4 item duas vezes.