Depois de ficar 2 horas tentando resolver, e sem entender a dinâmica do exercício, descobri por acidente como funciona. Achei péssimo! Me senti bem burra... esse método de ensinar algo novo por texto é muito ruim.
Depois de ficar 2 horas tentando resolver, e sem entender a dinâmica do exercício, descobri por acidente como funciona. Achei péssimo! Me senti bem burra... esse método de ensinar algo novo por texto é muito ruim.
Aqui deu problema repetindo a ultima cor.... até eu fazer isso
function mudaCor() {
indiceCorAtual++
if (indiceCorAtual > cores.length - 1) {
indiceCorAtual = 0;
}
return false;
}
}
Repara que eu usei um -1 após o cores.length. Ai deu certo.
Olá Camila/Mauricio, boa tarde! Fazer um complemento, caso não tenham entendido na prática o motivo desse -1.
Se tivermos por exemplo:
Array = [cor1, cor2, cor3]
Notem que o índice dos elementos começa em 0, logo:
Porém o Array.length (comprimento da nossa lista) retorna o número de elementos na lista, que nesse caso são 3.
Se não colocarmos o -1, o que acontece é que ele vai verificar:
indiceCorAtual > cores.length? que é o mesmo que dizer:
Porém, observem que nesse caso, o índice chega a assumir o valor de 3... e somente na próxima troca volta para 0. Mas se lembram que o maior índice da nossa matriz é 2? rs
Por isso ao colocar o cores.length - 1, corrigimos esse problema e fazemos com que ele pare com índice máximo = 2, ou seja, a cor3.
Abraços e bons estudos!