Fiz o exercício e funcionou, mas não entendi o conceito que passa a função para percorrer o array. Não entendi também a lógica de passar o comportamento como parâmetro.
Será que alguém poderia me explicar de forma clara? Na vídeo aula ficou muito confuso. Se o instrutor puder explicar de forma simples eu agradeço.
function montaPaciente(trAtual){ var nomeTd = trAtual.getElementsByClassName("info-nome")[0]; // pega tr do nome do paciente atual var pesoTd = trAtual.getElementsByClassName("info-peso")[0]; // pega tr do peso do paciente atual var alturaTd = trAtual.getElementsByClassName("info-altura")[0]; // pega tr do altura do paciente atual
var paciente = { nome : nomeTd.textContent, peso : pesoTd.textContent, altura : alturaTd.textContent, pegaImc : function(){ if(this.altura != 0){ var imc = this.peso / (this.altura * this.altura); return imc; }else{ console("Não posso executar uma divisão por 0!"); } } }
return paciente; }
var trsPacientes = document.getElementsByClassName("paciente");
percorreArray(trsPacientes, function(pacienteTr){
var paciente = montaPaciente(pacienteTr) var imc = paciente.pegaImc(); var tdImc = pacienteTr.getElementsByClassName("info-imc")[0]; tdImc.textContent = imc; console.log(imc);
});
function percorreArray (trsPacientes, comportamento){ for (var posicaoAtual = 0; posicaoAtual <= trsPacientes.length - 1; posicaoAtual++) { var pacienteTr = trsPacientes[posicaoAtual]; comportamento(pacienteTr); }; };