O codigo funciona de ambos os jeitos. Eu nao entendi a logica de uma linha em especifica Caso alguem poder me explicar eu agradeço. O codigo sem refatorar está assim:
function filtrarPorCategoria(filtro) {
const videos = document.querySelectorAll(".videos__item");
for(let video of videos) {
let categoria = video.querySelector(".categoria").textContent.toLocaleLowerCase();
let valorFiltro = filtro.toLocaleLowerCase();
if(!categoria.includes(valorFiltro) && valorFiltro !='tudo') {
video.style.display = 'none';
} else {
video.style.display = 'block';
}
}
}
Ele reafatorado está assim :
function filtrarPorCategoria(filtro) {
const videos = document.querySelectorAll(".videos__item");
const valorFiltro = filtro.toLocaleLowerCase();
videos.forEach((video) => {
const categoria = video.querySelector(".categoria").textContent.toLocaleLowerCase();
video.style.display = valorFiltro !='tudo' ? categoria.includes(valorFiltro) ? 'block' : 'none' : 'block'; | essa linha nao entendi a logica por tras pricipalmente na parte do 'block' : 'none' : 'block';
});
}