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

Dúvida no Ex. 5 da Aula 5 - Funções e os cidadãos de primeira classe

Depois que criei a função percorreArray parou de funcionar acho que não intendi muito bem essa questão da função dentro de outra função, segue o codigo:



function montaPaciente (trPaciente){

    var nome = trPaciente.getElementsByClassName("info-nome")[0].textContent;
    var peso = trPaciente.getElementsByClassName("info-peso")[0].textContent;
    var altura = trPaciente.getElementsByClassName("info-altura")[0].textContent;

    var pacienteAtual = {
        nome: nome,
        peso: peso, 
        altura: altura,
        pegaImc: function()
        {
                if(this.altura != 0)
                {
                    var imc = this.peso / (this.altura * this.altura);
                    return imc;
                }
                else
                {
                    console.log("Nao executado porque altura e igual a zero");
                }

        }
    }
    return pacienteAtual;

}

function percorreArray(nossosTrs, comportamento)
{
    for( var i = 0; i <= pacientesTrs.length-1; i++)
    {
        var trPacienteAtual = nossosTrs[i];
        comportamento(trPacienteAtual)
    }
}



var pacientesTrs = document.getElementsByClassName("paciente");
var trAtual = pacientesTrs[i];    

percorreArray(pacientesTrs, function(trAtual)
{
    var paciente = montaPaciente(trAtual);
    var imcPaciente = paciente.pegaImc();
    var trImc = trAtual.getElementsByClassName("info-imc")[0];
    trImc.textContent = imcPaciente;
    console.log(imcPaciente);

});
2 respostas
solução!

ja endireitei era na hora de criar a função deixei uma linha pra tras:

var trAtual = pacientesTrs[i];

Ricardo, se você quer se aprofundar mais em Js recomendo que você leia o livro "object oriented javascript second edition".

Depois que li, vi falando bastante coisas sobre funções anônimas e funções de retorno, logo não entendi bem, após vê aqui na pratica :)

Facilitou muito,

ou simplismente procure por: "Funções anônimas e Callback functions em js" no google :)