Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dificuldade de entender o uso do for com os pacientes

Estou com muita dificuldade de entender o motivo de não usar direto pacientes, precisando colocar a variável paciente. Se alguém puder me explicar, por favor, ficarei muito grato.

if (this.value.length > 0){ for (var i = 0; i < pacientes.length; i++){ var paciente = pacientes[i];

2 respostas
solução!

Oi Geovanni!

A declaração var paciente = pacientes[i] serve mais para deixar explícito que estamos lidando com apenas um paciente e para evitar escrever pacientes[i] múltiplas vezes.

Caso não queira utilizar a variável paciente, basta modificar o código para:

for (var i = 0; i < pacientes.length; i++) { 
    var tdNome = pacientes[i].querySelector(".info-nome");
    var nome = tdNome.textContent()
    if( nome != this.value) {
        pacientes[i].classList.add("invisivel");
    }
    else {
         pacientes[i].classList.remove("invisivel");
    }
    // resto
}

O código acima funciona da mesma maneira que o mostrado na aula, mas tivemos que escrever pacientes[i] (que leva mais caractéres que paciente) mais vezes.

Se você não se importa de escrever alguns caractéres a mais, não tem problema nenhum continuar usando pacientes[i]. Particularmente, eu utilizo a mesma lógica do instrutor pelos motivos que citei no primeiro parágrafo.

Espero ter ajudado! Qualquer outra dúvida pode postar aqui!

Ah, ok, obrigado! Eu achava que talvez fosse alguma coisa lógica e que eu não tinha entendido. Muito obrigado por esclarecer! :)