Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

proyecto terminado

Luego de terminar el proyecto final, por que ya no continua haciendo las validaciones del ciclo for, ni con los pacientes "viejos", ni con los nuevos ? Hay alguna forma de encapsular el loop en una función y luego llamarlo para hacer sus validaciones en la otra función para que antes de calcular el IMC.

var pacientes = document.querySelectorAll(".paciente");

for(var i=0; i<pacientes.length; i++){

     var paciente = pacientes[i];

    var tdPeso =paciente.querySelector(".info-peso");
    var peso = tdPeso.textContent;

    var tdAltura =paciente.querySelector(".info-altura");
    var altura =tdAltura.textContent;

    var tdIMC = paciente.querySelector(".info-imc");

    var pesoEsValido = true;
    var alturaEsValida = true;

    if((peso < 0 ) || (peso > 1000)) {
        console.log("peso incorrecto");
        tdIMC.textContent = "Peso no valido";
        pesoEsValido = false;
        paciente.classList.add("paciente-incorrecto");
    }

    if((altura < 0 ) || (altura > 4.00)) {
        console.log("altura incorrecto");
        tdIMC.textContent = "Altura no valida";
        alturaEsValida = false;
        paciente.classList.add("paciente-incorrecto");
    }
    if (pesoEsValido && alturaEsValida){
        tdIMC.textContent = calcularIMC(peso,altura) 
    }
}

function calcularIMC(peso,altura){
    var imc = peso / (altura * altura);
    return imc.toFixed(2);

}
1 respuesta

Hola Daniel, espero que estés muy bien.

Implementarias una solución diferente que ahorraria líneas de código. Seria interansante que probaras y nos mostraras como te fué y si tienes alguna complicación puedes preguntar por aqui o Discord.

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios