1
resposta

[Dúvida] Ordenar por preço mantendo filtro por categoria

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.

1 resposta

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!