1
resposta

Acredito que tenha conseguido concluir o desafio.


const produtos = [
  { nome: 'Notebook', preco: 2500, quantidadeVendida: 75 },
  { nome: 'Mouse', preco: 100, quantidadeVendida: 180 },
  { nome: 'Teclado', preco: 150, quantidadeVendida: 125 },
  { nome: 'Monitor', preco: 900, quantidadeVendida: 95 }
];
//Mostrar todos os produtos (nome, preço, quantidade).
for (let i=0; i< produtos.length; i++){
    console.log(`Produto: ${produtos[i].nome}  || Preço: ${produtos[i].preco} || Quantidade Vendida: ${produtos[i].quantidadeVendida}`);
}
//Filtrar os que venderam mais de 100 unidades e exibir seus nomes.
const maisDe100 = produtos.filter(q => q.quantidadeVendida > 100);
const produtoMaisDe100 = maisDe100.map(n=>n.nome);
console.log(`Produtos com alto volume de vendas (> 100 unidades):  ` +produtoMaisDe100);

//Calcular os totais de venda de cada produto.
const total = produtos.map(p => p.preco * p.quantidadeVendida);
const nome = produtos.map(n => n.nome);

for (let i=0; i< nome.length; i++){
console.log(`Total de vendas por produto: `+ nome[i] + `: `+ total[i]);
}

// Descobrir o mais lucrativo.
const lucrativo = total.reduce((acc, val) => Math.max(acc,val),-Infinity);
const indLuc = total.indexOf(lucrativo);

console.log(`Produto mais lucrativo: ${nome[indLuc]} com R$ ${lucrativo} em vendas.`);
1 resposta

Olá, Eduardo, como vai?

Sua solução atende ao que foi solicitado no desafio e demonstra um bom domínio do uso de arrays com métodos como filter, map e reduce, além do uso correto do loop for para percorrer os dados. A lógica aplicada para calcular os totais e encontrar o produto mais lucrativo está consistente e funcional, assim como a separação das etapas do relatório.

Obrigado por compartilhar sua solução e continue trazendo suas práticas para discussão. O fórum está à disposição.

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