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

Como fazer com o forEach?

Olá devs, tudo bem? Queria saber se ao invés de usar o let video of videos poderia ser usado o forEach? É possível?

1 resposta
solução!

Olá, João. Tudo bem?

Sim, é possível usar o método forEach() em vez de um loop for...of nesse caso. O método forEach() é uma maneira alternativa de iterar sobre os elementos de um array ou de uma coleção semelhante a um array, como o NodeList retornado pelo querySelectorAll().

Aqui está como você pode usar forEach() para realizar a mesma tarefa de filtragem:

function filtrarPesquisa(){
    const videos = document.querySelectorAll(".videos__item");

    if(barraDePesquisa.value != ""){
        videos.forEach(video => {
            let titulo = video.querySelector(".titulo-video").textContent.toLowerCase();
            let valorFiltro = barraDePesquisa.value.toLowerCase();

            if(!titulo.includes(valorFiltro)){
                video.style.display = "none";
            } else {
                video.style.display = "block";
            }
        });
    }
}

Nesse código, videos.forEach(video => { ... }) itera sobre cada elemento em videos, executando a função de callback para cada elemento. Dentro da função de callback, você tem acesso a cada video individualmente, onde pode realizar sua lógica de filtragem, exatamente como no loop for...of.

Ambas as abordagens são válidas e funcionarão da mesma maneira neste contexto. A escolha entre elas geralmente é uma questão de preferência de estilo ou de conveniência em situações específicas.

Caso tenha ficado alguma dúvida em relação ao código, curso ou atividade, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço 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