2
respostas

Código sem precisar do else e for mais externo

basta usar a condição OR ||; testado tb ao incluir novos clientes.

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

campoFiltro.addEventListener("input",function(){ 
            //console.log(this.value);
    var pacientes = document.querySelectorAll(".paciente");
    console.log(this.value.length);

        for (var i=0; i<pacientes.length;+i++) {
            var paciente = pacientes[i];
            var nome = (paciente.querySelector(".info-nome").textContent);

            if ( this.value.length==0 || nome == this.value ) {

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

});
2 respostas

Douglas, tudo bom? Precisaria fazer um teste no seu código e comparar com o apresentado em aula para saber se a performance tem alguma diferença, provavelmente o else na solução do professor tenha algum ganho por não precisar passar pelos IFs, mas precisa ser testado e comparado para ter certeza.

Fora isso, achei o seu código mais fácil de ler. Se ele passa por todos os testes então não vejo mais problemas.

Não esqueça de deixar essa questão como solucionada para que ela saia da lista de questões sem solução do fórum.

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