Como ficaria se fossemos adicionar também uma função que ao clicar no botão "ordenar por preço" ordenasse em crescente e com segundo clique ordenar em decrescente?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como ficaria se fossemos adicionar também uma função que ao clicar no botão "ordenar por preço" ordenasse em crescente e com segundo clique ordenar em decrescente?
Opa Rayan, bom ? Você pode fazer a função de ordenar por preço receber um paramento informando como ela vai ordenar, e esse parâmetro muda a cada clique. Algo mais ou menos assim:
const btnPreco = document.querySelector('#btnOrdenarPorPreco')
let sort = 'menor'
btnPreco.addEventListener('click', () => {
ordernaPorPreco(sort)
sort = sort == 'menor' ? 'maior' : 'menor'
})
function ordernaPorPreco(sort) {
let livrosOrdenadosPorPreco
if(sort == 'menor') {
livrosOrdenadosPorPreco = livros.sort((a, b) => a.preco - b.preco)
} else {
livrosOrdenadosPorPreco = livros.sort((a, b) => b.preco - a.preco)
}
exibirLivrosNaTela(livrosOrdenadosPorPreco)
}