Skip to content
Arrays, Funções e POOModo de leitura focado
MédioFase 4

Exercício Médio — Catálogo de Produtos com Objetos

Cria um array de objetos "produto" e usa forEach para calcular o valor total do stock.

FerramentasVS CodeTerminalNode.js

Objetivo: combinar arrays e objetos — o padrão mais comum em aplicações reais, uma lista de "coisas", cada uma com várias propriedades.

Passos a realizar

  1. Cria catalogo.js na pasta fase4.
  2. Declara const produtos, um array com três objetos, cada um com as propriedades nome, preco e quantidade.
  3. Declara let valorTotal a começar em 0.
  4. Usa forEach para percorrer produtos e, para cada um, somar (preco vezes quantidade) a valorTotal.
  5. Dentro do mesmo forEach, imprime uma linha por produto no formato "nome: X unidades a Y€ cada".
  6. No fim, fora do forEach, imprime o valorTotal do catálogo inteiro.

Código de exemplo

catalogo.js
const produtos = [
  { nome: "Teclado", preco: 25, quantidade: 4 },
  { nome: "Rato", preco: 12, quantidade: 10 },
  { nome: "Monitor", preco: 150, quantidade: 2 },
];

let valorTotal = 0;

produtos.forEach((produto) => {
  // completa aqui: soma a valorTotal e imprime a linha do produto
});

console.log("Valor total do catálogo:", valorTotal);
Estrutura de partida

Dicas

  • valorTotal tem de ser declarado fora do forEach com let — se o declarares lá dentro, ele reinicia a cada produto e perdes a soma acumulada.
  • Acede às propriedades de cada objeto dentro do forEach com produto.nome, produto.preco, etc.

Erros comuns

  • Usar const em vez de let para valorTotal, o que impede de o atualizar a cada volta.
  • Esquecer os parênteses em (preco * quantidade) ao somar a valorTotal, alterando a ordem das operações se houver mais contas na mesma linha.

As minhas dúvidas

Voltar à vista da fase