como poderia filtrar os livros por preço mantendo o filtro de categoria?? já que da forma que foi feito durante a aula, ao clicar para filtrar os livros por preço, o programa exibe todos os livros, ignorando um possivel filtro prévio por categoria.
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 poderia filtrar os livros por preço mantendo o filtro de categoria?? já que da forma que foi feito durante a aula, ao clicar para filtrar os livros por preço, o programa exibe todos os livros, ignorando um possivel filtro prévio por categoria.
Oii Cauê, como vai? Espero que esteja bem!
Para filtrar os livros por preço mantendo o filtro de categoria, você pode criar uma função que realize a filtragem por categoria e por preço ao mesmo tempo.
Você pode começar criando uma função chamada filtrarLivrosPorCategoriaEPreco que recebe como parâmetros a categoria desejada e o intervalo de preço. Dentro dessa função, você pode utilizar o método filter() para filtrar os livros de acordo com a categoria e, em seguida, encadear o método sort() para ordená-los por preço.
Aqui está um exemplo de como você pode começar a implementar essa função:
function filtrarEOrdenarLivros(categoria) {
const livrosFiltrados = livros.filter(livro => livro.categoria === categoria);
const livrosOrdenados = livrosFiltrados.sort((a, b) => a.preco - b.preco);
return livrosOrdenados;
}
Nesse exemplo, a função filtrarEOrdenarLivros recebe a categoria desejada como parâmetro. Ela filtra os livros de acordo com a categoria e, em seguida, ordena-os pelo preço.
Lembre-se de adaptar o código de acordo com a estrutura do seu projeto e a forma como os dados dos livros estão organizados. E, claro, teste a função para garantir que está funcionando corretamente!
Caso tenha dúvidas, fico à disposição.
Abraços e bons estudos!