1
resposta

Operadores-js-matemática.

Então resumindo, teria que fazer toda essa validação para cada um dos pacientes? certo?

var titulo = document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista"

var paciente = document.querySelector("#primeiro-pasciente");

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 pesoEhValido = true;
var alturaEhValida = true;

if(peso <= 0 || peso >= 1000){
    console.log("Peso inválido");
    pesoEhValido = false;
    tdImc.textContent = "Peso inválido!";
}

if(altura <= 0 || altura >= 3.00){
    console.log("Altura inválido");
    alturaEhValida = false;
    tdImc.textContent = "altura inválida!";
}

if(alturaEhValida && pesoEhValido){
    var imc = peso /(altura * altura);
tdImc.textContent = imc;
}
1 resposta

Olá John, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Tanto o cálculo do IMC quanto a validação dos dados informados, devem acontecer para todos os pacientes presentes na tabela. Para isso será utilizada a querySelectorAll(), essa propriedade retorna um array contendo os elementos correspondentes ao selector informado. Este array será percorrido com o uso do loop for e dentro do loop será realizando a coleta, validação e cálculo com as informações presentes em cada item. O uso do loop for irá proporcionar o reaproveitamento do código para múltiplos pacientes, sem a necessidade de criarmos uma validação e cálculo do IMC para cada paciente.

Você pode acompanhar essa implementação do script na aula replicando a validação e o cálculo do IMC para todos os pacientes onde o professor apresenta com detalhes como será a nova estrutura do script.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software