No curso na parte usando o filter()
foi usado o seguinte código com pequenas mudanças de nomes que fiz:
const botoes = document.querySelectorAll('.btn')
botoes.forEach(btn => btn.addEventListener('click', filtrarLivros))
function filtrarLivros() {
const elementoBtn = document.getElementById(this.id)
const categoria = elementoBtn.value
const livrosFiltrados = livros.filter(livro => livro.categoria == categoria)
exibirLivrosNaTela(livrosFiltrados)
}
Antes de criar o código e ser apresentado esse, eu escrevi como achava que poderia fazer e testei, logo depois, continuei o curso e vi que o meu codigo foi diferente, mas ao mesmo tempo parecido, mas menor.
const botoes = document.querySelectorAll('.btn')
botoes.forEach(btn => btn.addEventListener('click', () => {
const livrosFiltrados = livros.filter(livro => livro.categoria == btn.value)
exibirLivrosNaTela(livrosFiltrados)
}))
Deu o mesmo resultado, porém menor. Não sei se fica mais complexo, mas na minha cabeça foi o que pensei. Minha lógica foi nesse direção kkkkk