1
resposta

duvida sobre escrever o map - desconto

Na aula aplicamos o mesmo desconto para cada um dos elementos. Gostaria de saber se os descontos fossem diferentes para cada livro como seria o código

1 resposta

Oi, Maria, tudo bem?

Na aula, aplicamos um desconto fixo de 20% a todos os livros. Para aplicar descontos diferentes para cada livro, você pode criar um array de descontos e aplicar cada desconto correspondente ao livro. Vou te mostrar um exemplo prático de como fazer isso.

Vamos supor que temos um array de livros e um array de descontos. Cada índice do array de descontos corresponde ao índice do livro no array de livros.

const livros = [
    { nome: "Livro A", preco: 50 },
    { nome: "Livro B", preco: 30 },
    { nome: "Livro C", preco: 20 }
];

const descontos = [0.1, 0.2, 0.15]; // 10%, 20%, 15%

const livrosComDesconto = livros.map((livro, index) => {
    const desconto = descontos[index];
    return {
        ...livro,
        preco: livro.preco * (1 - desconto)
    };
});

livrosComDesconto.forEach(livro => {
    console.log(`Nome: ${livro.nome}, Preço com desconto: R$${livro.preco.toFixed(2)}`);
});

Neste exemplo, temos três livros e três descontos diferentes. Usamos o map para criar um novo array de livros com os preços atualizados conforme os descontos. Em seguida, usamos o forEach para exibir os novos preços no console.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!