1
resposta

[Dúvida] ...livro duvida

Se o map já cria um novo array, por que foi realizar o método ...livro?

livrosComDesconto = livros.map(livro => { // cópia de toda array e altera somente o preco return {...livro, preco: livro.preco - (livro.preco * desconto)} }) return livrosComDesconto }

1 resposta

Olá, Reverton!

Entendo a sua dúvida. O método map realmente cria um novo array com base em um array existente. No entanto, no exemplo que você mostrou, o método ...livro é usado para fazer uma cópia de cada objeto livro do array original antes de fazer a alteração no preço.

Essa cópia é feita usando o operador spread (...). Ele permite que você crie uma cópia de um objeto ou array existente. No caso do exemplo, o ...livro cria uma cópia de todas as propriedades do objeto livro e, em seguida, é feita a alteração no preço dessa cópia.

Dessa forma, o array original não é modificado e um novo array é retornado com os preços dos livros alterados. Isso é útil quando você precisa preservar o array original e criar um novo array com as alterações desejadas. Se quiser saber mais sobre esse operador eu recomendo que você leia a documentação aqui neste link.

Espero ter ajudado e bons estudos!