Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Não entendi o exercício

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?

4 respostas
solução!

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] = undefild

Entã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.