Solucionado (ver solução)

Importante

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!

Solucionado
(ver solução)
1
resposta

[Dúvida] Como posso fazer essa operação sem operadores ternários?

Como posso transformar essa linha de código em algo mais legível? usando if e else.

let livrosFiltrados = categoria == 'disponivel' ? livros.filter(livro => livro.quantidade > 0) : livros.filter(livro => livro.categoria == categoria)

fiz de varias formas porém o código não funciona!

1 resposta
solução!

Olá Gabriel, tudo bem?

Entendo que você queira transformar a linha de código em algo mais legível utilizando if e else. Uma forma de fazer isso seria:

let livrosFiltrados;

if (categoria == 'disponivel') {
  livrosFiltrados = livros.filter(livro => livro.quantidade > 0);
} else {
  livrosFiltrados = livros.filter(livro => livro.categoria == categoria);
}

Dessa forma, estamos atribuindo o valor de livros.filter(livro => livro.quantidade > 0) à variável livrosFiltrados caso a condição categoria == 'disponivel' seja verdadeira. Caso contrário, atribuímos o valor de livros.filter(livro => livro.categoria == categoria) à mesma variável.

Espero ter ajudado e bons estudos!