image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Gabrielly Santos
Gabrielly Santos02/10/2024 10:44
Compartilhe

Utilizando métodos Map e forEach para gerenciar estoques

  • #JavaScript

Imagina que você tenha um estoque de produtos variados, cada um com um identificador (como o código de cadastro no sistema), nome, preço e categoria. Suponha que queremos aplicar descontos específicos para cada categoria de produto. Podemos utilizar o método map, que percorre um array de objetos e gera um novo array baseado nos dados processados.

Para este exemplo, considere que a empresa trabalha somente com três categorias: Eletrônicos, Roupas e Eletrodomésticos. A lógica de desconto será a seguinte:

Eletrônicos: 10% de desconto,
Roupas: 20% de desconto,
Eletrodomésticos: 15% de desconto.

 Criaremos nosso array de objetos

const produtos = [ 
{ id: 1, nome: 'Notebook', preco: 3000, categoria: 'Eletrônicos' }, 
{ id: 2, nome: 'Camiseta', preco: 50, categoria: 'Roupas' }, 
{ id: 3, nome: 'Fritadeira', preco: 400, categoria: 'Eletrodomésticos' }, 
{ id: 4, nome: 'Calça', preco: 150, categoria: 'Roupas' }, 
{ id: 5, nome: 'Smartphone', preco: 2000, categoria: 'Eletrônicos' } 
];

 Criaremos uma constante chamada produtos desconto que irá receber toda a lógica de desconto.

const produtosComDesconto = produtos.map((produto) => { 
let precoComDesconto; 
// Aplicar desconto com base na categoria
if (produto.categoria === 'Eletrônicos') { 
  precoComDesconto = produto.preco - (produto.preco * 0.10); 
} else if (produto.categoria === 'Roupas') { 
    precoComDesconto = produto.preco - (produto.preco * 0.20); 
} else { 
    precoComDesconto = produto.preco - (produto.preco * 0.15); 
} 
 
// Retornar o novo objeto com os detalhes do produto
return { 
id: produto.id, 
nome: produto.nome, 
categoria: produto.categoria, 
precoOriginal: produto.preco, 
precoComDesconto: precoComDesconto.toFixed(2) }; 
});

 Imprimindo o resultado

produtosComDesconto.forEach(produto => { 
console.log(`Produto: ${produto.nome} - Categoria: ${produto.categoria} - Preço Original: R$ ${produto.precoOriginal} - Preço com Desconto: R$ ${produto.precoComDesconto}`); 
});

Resumo

Neste exemplo, usamos o map para aplicar os descontos sem alterar o array original, criando um novo array com as informações dos produtos e seus preços com desconto. *OBS: Usei no else externo o desconto de 15%, pois a empresa está limitada apenas a essas três categorias, logo se o produto não pertence a categoria de roupas ou eletrônicos, não tem outra categoria a não ser eletrodomésticos.

E por último utilizei o forEach, para exibir os resultados de forma detalhada, mostrando o nome do produto, a categoria, o preço original e o preço após o desconto.

Compartilhe
Recomendados para você
Deal Group - AI Centric .NET
Randstad - Análise de Dados
BairesDev - Machine Learning Training
Comentários (1)

CS

Cristiano Santos - 02/10/2024 13:21

Gostei, obrigado