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

ForEach funciona, mas não entendo o parametro

Usei forEach e funcionou como esperado, mas tem algo q não entendo. O parametro (paciente) que as funções após os forEach recebem, vem da onde? Nessa função não fica claro pra mim onde eu estou passando algum parametro para dentro dessas funções. Tentei fazer algum diagrama pra entender, mas não consegui.

segue o código:

var campoFiltro = document.querySelector("#filtrar-tabela");

campoFiltro.addEventListener("input",function(){

var pacientes = document.querySelectorAll(".paciente");
if(campoFiltro.value.length > 0 ){

    pacientes.forEach(function(paciente){

        var tdNome = paciente.querySelector(".info-nome")
        var nome = tdNome.textContent;

        if( nome != campoFiltro.value){ 

            paciente.classList.add("invisivel");
        } else {

            paciente.classList.remove("invisivel");
        }





    });


} else{

    pacientes.forEach(function(paciente){

        paciente.classList.remove("invisivel");
    })
}

})

1 resposta
solução!

Oi, Lucas, tudo bem?

O parâmetro "paciente" que a função recebe vem do próprio .forEach( ).

Olhe o exemplo abaixo:

var numeros = [1,2,3,4,5,6,7,8,9,10];

numeros.forEach(function (numeroAtual) {
 console.log(numeroAtual); 
})

A saída desse código vai ser de um por um todos os números do array, ou seja, o .forEach( ) percorre o array de um por um e retorna o número atual, este número é passado para a função que fica responsável apenas por dar um console.log( )do número.

O .forEach( ) itera por todos os elementos do objeto ao qual foi utilizado e também os retorna para conseguirmos realizar manipulações.

Aqui está a documentação oficial do ".ForEach" : https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

Espero ter ajudado.