Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Exercício: Registro de caixas processadas

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

let caixasValidas = 0;

for (let caixa of caixas) {
  if (caixa < 0) {
    console.log("Caixa danificada, ignorada.");
    continue;
  }

  console.log(`Caixa processada: ${caixa}`);
  caixasValidas++;

  if (caixasValidas === 5) {
    console.log("Limite de caixas processadas atingido!");
    break;
  }
}
1 resposta
solução!

Olá, Vitor. Como vai?

Parabéns pela resolução! Seu código utiliza de forma excelente as palavras-chave continue e break, que são fundamentais para o controle de fluxo dentro de laços de repetição em JavaScript.

Gostaria de destacar como a sua lógica foi bem aplicada:

  • O uso do continue: Você o utilizou corretamente para "pular" as iterações onde a caixa é negativa (menor que zero). Isso evita que caixas danificadas entrem na contagem de processamento, sem interromper o loop por completo.
  • O uso do break: Foi aplicado perfeitamente para interromper o processamento assim que o limite de 5 caixas válidas foi atingido, poupando recursos e encerrando a execução no momento exato.
  • O laço for...of: É a escolha mais moderna e legível para percorrer arrays em JavaScript quando não precisamos manipular diretamente o índice do elemento.

Essa estrutura que você criou é muito comum em sistemas de logística reais, onde precisamos filtrar dados inconsistentes e respeitar limites de capacidade ou jornada de trabalho.

Uma pequena curiosidade técnica: o valor 0 no seu código foi processado como uma caixa válida (pois 0 < 0 é falso). Se na regra de negócio uma caixa com valor zero também devesse ser ignorada, bastaria ajustar a condição para if (caixa <= 0).

Continue com esse excelente desempenho nos exercícios de lógica!

Espero que possa ter lhe ajudado!