Fiz o código acompanhando a aula e no método Map para colocar os descontos nos livros não funcionou, inclusive, peguei o arquivo https://github.com/alura-cursos/js-metodos-array e executando o código dele, não funciona também.
Códigos:
main.js
let livros = []
const endpointDaAPI = 'https://guilhermeonrails.github.io/casadocodigo/livros.json'
getBuscarLivrosDaAPI()
const elementoParaInserirLivros = document.getElementById('livros')
async function getBuscarLivrosDaAPI() {
const res = await fetch(endpointDaAPI)
livros = await res.json()
console.table(livros) //mostra array como tabela
exibirOsLivrosNaTela(livros)
}
function exibirOsLivrosNaTela(listaDeLivros) {
listaDeLivros.forEach(livro => {
elementoParaInserirLivros.innerHTML += `
<div class="livro">
<img class="livro__imagens" src="${livro.imagem}"
alt="${livro.alt}" />
<h2 class="livro__titulo">
${livro.titulo}
</h2>
<p class="livro__descricao">${livro.autor}</p>
<p class="livro__preco" id="preco">R$${livro.preco}</p>
<div class="tags">
<span class="tag">${livro.categoria}</span>
</div>
</div>
`
})
}
metodoForEach.js
function exibirOsLivrosNaTela(listaDeLivros){
listaDeLivros.forEach(livro => {
elementoParaInserirLivros.innerHTML += `
<div class="livro">
<img class="livro__imagens" src=${livro.imagem} alt=${livro.alt} />
<h2 class="livro__titulo">${livro.titulo}</h2>
<p class="livro__descricao">${livro.autor}</p>
<p class="livro__preco" id="preco">R$ ${livro.preco.toFixed(2)}</p>
<div class="tags">
<span class="tag">${livro.categoria}</span>
<span class="tag">Back-end</span>
</div>
</div>
`
})
}
metodoMap.js
function aplicarDesconto(livros){
const desconto = 0.3
livrosComDesconto = livros.map(livro => {
return {...livro, preco: livro.preco - (livro.preco * desconto)}
})
return livrosComDesconto
}