Objetivo deste desafio Desenhar um arco-íris com três colunas de largura, com uma cor diferente em cada linha. Passo a passo da solução: O laço for passará todas as cores da array. Em cada laço (ou seja, quando cada cor é selecionada), será necessário desenhar três caixas dessa cor e, em seguida, passar para a próxima linha. Para dizer a um laço for o que fazer em cada laço (ou seja, cada seleção de cor), você escreve o código dentro das chaves {} — o bloco de comandos — e faz referência à variável que está no laço — neste caso, x. Como você deseja três caixas, precisará de três funções drawBox(x) e, em seguida, uma função newLine() para ir para a próxima linha. Isso significa que, para cada cor no laço (ou seja, selecionada), serão desenhadas três caixas e, em seguida, uma nova linha será iniciada. Solução do código de exemplo:
(Toque abaixo para revelar)
for (var x of [
'red',
'orange',
'yellow',
'green',
'blue',
'indigo',
'violet'
]) {
drawBox(x);
drawBox(x);
drawBox(x);
newLine();
}
Conceitos de JavaScript: Laços, arrays, blocos (laço for), identificadores, declaração de variável, chamada de funções
(upload://1ELygqQ3nAmzkyWqh4seHbONUjw.jpeg)
Eu já havia feito com as três linhas para cada cor…a verdade é que de nenhum jeito é aceito…não sei mais o que fazer!!
… traria 5 caixas da primeira cor e logo depois carregaria a próxima cor com 5 caixas até passar para terceira cor e assim por diante. Esse momento de troca para a próxima linha é justamente o comando newLine que chega na sua vez de ser executado depois das 5 drawBox(x) anteriores terem sido executadas para primeira cor. Ficou meio prolixo, mas é para evitar dúvidas.
Executei somente a primeira função
Depois incluí a segunda e executei novamente
Depois incluí a terceira e executei de novo
Por fim inclui a última e ao executar dessa forma consegui entender a lógica da coisa