Este é o código calcula-imc :
var pacientesTrs = document.getElementsByClassName("paciente");
var posicaoAtual = 0
function montapaciente(pacienteTr){
var tdNome = pacienteTr.getElementsByClassName("info-nome")[0]; var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0]; var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0]; var tdImc = pacienteTr.getElementsByClassName("info-imc")[0];
var paciente = { nome : tdNome.textContent, peso : tdPeso.textContent, altura : tdAltura.textContent, imc : tdImc, pegaimc : function(){ if (paciente.altura != 0 ){
var imc = this.peso / (this.altura * this.altura); return imc;
} else{ console.log("Nao foi possivel calcular o imc"); } } }
return paciente;
}
percorrearray(pacientesTrs, function(paciente){
var pacienteTr = pacientesTrs[posicaoAtual]; var paciente = montapaciente(pacienteTr); var imcdopaciente = paciente.pegaimc();
var tdImc = pacienteTr.getElementsByClassName("info-imc")[0];
console.log(imcdopaciente); tdImc.textContent = imcdopaciente; } )
Este é o percorre array:
function percorrearray(pacientesTrs, comportamento){
for(var posicaoAtual = 0; posicaoAtual <= pacientesTrs.length - 1; posicaoAtual++){
var pacienteAtual = pacientesTrs[posicaoAtual]; comportamento(pacienteAtual); }}
Alguem saberia me dizer o porque de o array nao estar percorrendo, ele realiza todas as contas com o mesmo td. deve ser algo besta, mas estou bugando D: