Importante

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!

2
respostas

mais um exercicio

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 <= 5);

console.log(`Limite de caixas processadas atingido!`);
2 respostas

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!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

obrigado. O motivo do 5 é que o exercicio pedia para que a contace acabace quando 5 fossem processandas.

fiz uma modificaçao pq percebia que ao olhar as caixas elas n iginoravam as caixas negativas e parava antes da hora


const caixas = [12, -1, 8, 0, -5, 3, 7, 14];
let processando = 0;
let limite = 0;

do {    
    if (caixas[processando] >= 0) {
        console.log(`Caixa processada: ${caixas[processando]}`);
        limite++
    } else {
        console.log(`Caixa danificada, ignorada.`);        
    }
    processando++
} while(limite < 5);

console.log(`Limite de caixas processadas atingido!`);