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.`);
}
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.`);
}
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.