Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

adicionar mais uma função

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?

1 resposta
solução!

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)
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software