Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Solução mais simples para quem não entendeu muito bem como eu hahaha

Eu sinceramente tive dificuldade de entender a lógica que o professou usou durante essa aula. Por isso decidi fazer de outra forma que considero mais fácil a compreensão. Gostaria de saber se é válido dessa forma e se pode trazer problemas para o código.

`const btnLivrosDisponiveis = document.querySelector("#btnLivrosDisponiveis");

btnLivrosDisponiveis.addEventListener('click', () => {

const livrosDisponiveis = livros.filter(livro =>{
   return livro.quantidade > 0
});

mostrarLivrosNaTela(livrosDisponiveis);

});`

2 respostas
solução!

Oi Matheus, tudo bem?

Primeiramente, é ótimo que você esteja buscando outras formas de entender o conteúdo e de aplicá-lo. Quanto à sua solução, ela parece estar correta e não deve trazer problemas para o código.

Na sua solução, você utilizou o método filter() para filtrar os livros disponíveis, ou seja, aqueles que possuem quantidade maior que zero. O método filter() é uma das formas de percorrer e manipular arrays em JavaScript, e ele cria um novo array com todos os elementos que passam no teste da função fornecida.

Dessa forma, ao utilizar livros.filter(livro => livro.quantidade > 0), você está percorrendo o array livros e criando um novo array livrosDisponiveis com apenas os livros que possuem a propriedade quantidade maior que zero. Esse novo array é então passado como parâmetro para a função mostrarLivrosNaTela().

Em relação à sua preocupação sobre se essa solução é válida, sim, ela é válida e não deve trazer problemas para o código. De fato, essa é uma das formas de se resolver o problema proposto na atividade, e pode ser uma boa alternativa para quem teve dificuldades com a solução proposta pelo professor.

Espero que tenha te ajudado.

Um abraço e bons estudos.

eu fiz um pouco parecido com a sua, até entendi como ele usou o operador ternário, mas achei que ficou meio confuso o código.

const botaoDisponiveis = document.getElementById('btnLivrosDisponiveis');

botaoDisponiveis.addEventListener('click', filtrarDisponiveis);

function filtrarDisponiveis(){
    let livrosDisponiveis = livros.filter((livro) => livro.quantidade > 0);
    exibeLivrosNaTela(livrosDisponiveis);
}