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

Resposta 2.18 g

g

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

for (let i = 0; caixas.length > i; i++) {
    caixas[i] > -1 ? console.log(`Caixa processada: ${caixas[i]}`)
    : console.log(`Caixa danificada, ${caixas[i]} ignorada.`);
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Olá, Ian, como vai?

Obrigado por compartilhar sua solução, ficou bem interessante. Você utilizou corretamente o operador ternário dentro do laço para verificar se a caixa deveria ser processada ou ignorada, o que deixa o código conciso.

No entanto, repare que a lógica ainda não limita o processamento a apenas 5 caixas válidas. Do jeito que está, o programa percorre todas as posições do array sem encerrar o loop quando atinge esse limite. Para resolver, basta incluir uma variável que contabilize o número de caixas válidas processadas e interrompa o laço quando chegar a 5.

Por exemplo, você poderia escrever assim:


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

for (let i = 0; i < caixas.length; i++) {
  if (caixas[i] >= 0) {
    console.log(`Caixa processada: ${caixas[i]}`);
    processadas++;
    if (processadas === 5) {
      console.log("Limite de caixas processadas atingido");
      break;
    }
  } else {
    console.log("Caixa danificada, ignorada.");
  }
}

Continue compartilhando suas soluções, é uma ótima forma de consolidar seu aprendizado. O fórum está à disposição.

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