Fala, Tairone! Tudo bom?
Agradeço por trazer sua solução para o fórum!
Curti demais como trabalhou o laço do/while para controlar o processamento em JavaScript, entendeu perfeitamente a importância da condicional if/else para diferenciar caixas danificadas das válidas e usou bem a variável acumuladora para percorrer os elementos da lista.
Algo bem legal para complementar é tornar o limite dinâmico, baseado no tamanho do array, em vez de fixar até o índice 5. Dessa maneira:
const caixas = [12, -1, 8, 0, -5, 3, 7, 14];
let processando = 0;
do {
if (caixas[processando] < 0) {
console.log(`Caixa danificada, ignorada.`);
} else {
console.log(`Caixa processada: ${caixas[processando]}`);
}
processando++;
} while(processando < caixas.length);
console.log(`Todas as caixas foram processadas!`);
Isso faz com que o programa seja mais flexível e funcione mesmo que a lista cresça ou diminua.
E algumas boas práticas que você pode adotar são:
- Validação: garantir que o array não esteja vazio antes de iniciar o loop.
- Generalização: transformar a lógica em função que receba o array como parâmetro.
- Legibilidade: manter nomes de variáveis claros, como
indiceAtual em vez de processando.
Continue postando as suas soluções! Além de ganhar pontos de XP na plataforma, você pode ajudar outros estudantes no fórum.
Ah, uma pergunta: o que você prefere evoluir nesse código, permitir que o usuário defina o limite de caixas processadas ou processar sempre todas as caixas automaticamente?
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!