No mesmo capítulo, existe um desafio de refatoração para a função da barra de pesquisa. Ao ver a criação da função filtrarPorCategoria, achei a estrutura muito semelhante e decidi, então, refatorar e fazer diferente do curso. Tentei implementar a mesma lógica utilizando um forEach e operador ternário ao invés de for of e if/else, mas não funciona (mesmo tentando seguir solução da refatoração). Por que o código criado (que é o que está comentado) não funciona corretamente?
function filtrarPorCategoria(filtro) {
const videos = document.querySelectorAll('.videos__item');
for(let video of videos){
let categoria = video.querySelector(".categoria").textContent.toLowerCase();
let valorFiltro = filtro.toLowerCase();
if(!categoria.includes(valorFiltro) && valorFiltro != 'tudo'){
video.style.display = "none";
} else {
video.style.display = "block";
}
}
// videos.forEach(video => {
// let categoria = document.querySelector(".categoria").textContent.toLowerCase();
// const valorFiltro = filtro.toLowerCase();
// video.style.display = !categoria.includes(valorFiltro) && categoria != "tudo" ? "none" : "block";
// )}
}