Quando utilizei o forEach no exercício o "this.value" do RegExp está com o valor "undefined", porém quando retorno para o for "tradicional" funciona normalmente. Porém não consegui entender o porque.
Poderia por favor me ajudar?
Segue código abaixo:
var campoFiltro = document.querySelector("#filtrar-tabela");
campoFiltro.addEventListener("input", function(){
var pacientes = document.querySelectorAll(".paciente");
if(this.value.length > 0)
{
pacientes.forEach(function(paciente)
//for (var i = 0; i < pacientes.length; i++)
{
//paciente= pacientes[i];
var tdNome = paciente.querySelector(".info-nome");
var nome = tdNome.textContent;
var expressao = new RegExp(this.value, "i");
if(expressao.test(nome))
{
paciente.classList.remove("invisivel");
} else {
paciente.classList.add("invisivel");
}
});
} else {
for (var i = 0; i < pacientes.length; i++)
{
var paciente = pacientes[i];
paciente.classList.remove("invisivel");
};
}
});