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

Argumentos

No percorre array, tem dois argumentos:

percorreArray(nossosTrs, comportamento)

Não é obrigatório chamar dois argumentos quando chama a função?

5 respostas

É obrigado por conta que o primeiro é o array de informações e o segundo é o método ou função que recebera os parâmetros do nossosTrs

solução!
var tdPacientes = document.getElementsByClassName("paciente");

function montarPaciente(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 paciente ={
        "peso":peso,
        "none":nome,
        "altura":altura,
        "pegaImc":function(){
            if(this.altura !== 0){
                var imc = this.peso / (this.altura * this.altura);
                return imc;  
            }
            else{
                console.log("Altura tem uqe ser diferente de 0");
            }
        }
    };
    return paciente;
}

function calculaImc(trPaciente){
    var paciente = montarPaciente(trPaciente);
     var tdimc = trPaciente.getElementsByClassName("info-imc")[0];
    tdimc.textContent = paciente.pegaImc();
}
/* meu array de paciente e depois meu metodo */
**percorreArray(tdPacientes,calculaImc)**;
/* primeiro parametro é o array segundo é a função */
function percorreArray(tdPacientes,comportamento){

    for(var posicaoAtual = 0; posicaoAtual <= tdPacientes.length -1;posicaoAtual++)
    { 
        var trPaciente = tdPacientes[posicaoAtual];
        comportamento(trPaciente);
    }

}

Olá, Gisesonia! Ficou ainda alguma dúvida depois da resposta do Alan? Se não tiver mais dúvidas, por favor marque a resposta do Alan como solução. Se ainda tiver, mande aqui para a gente tentar ajudar.

Obrigada. Uma coisa que me confunde é que mudam os nomes, depois eu entendi, mas geralmente eu procuro o nome da variável ou da função e quando passa como argumento pode mudar o nome.

sim , pq vc usa a metodologia de reuso de código. pensa sé você coloca-se um nome fixo isso lhe atrapalharia e vc teria que repetir o mesmo código N vezes