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

Minha solução

No meu caso coloquei o this.value ao invés de criar uma const, tem algum problema em ser feito dessa forma?

const botoes = document.querySelectorAll('.btn');

botoes.forEach(btn => btn.addEventListener('click', filtrarLivos));

function filtrarLivos() {
    const elementoBtn= document.getElementById(this.id)
    let livrosFiltrados = livros.filter(livro => livro.categoria == this.value);
       console.table(livrosFiltrados)        
}

1 resposta
solução!

Olá Aécio!

Não há problema em utilizar o this.value ao invés de criar uma constante para armazenar o valor do botão clicado. Na verdade, essa é uma forma mais direta e simples de acessar o valor do botão e utilizá-lo na filtragem dos livros.

O this é uma referência ao objeto que chamou a função, no caso, o botão que foi clicado. E o value é uma propriedade desse botão que contém o valor do atributo value do elemento HTML.

Portanto, a sua solução está correta e pode ser utilizada sem problemas.

Espero ter ajudado e bons estudos!

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