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

Sugestão forEach

Não é uma dúvida, mas uma sugestão. Seria interessante mencionar o loop forEach, como no trecho abaixo:

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

pacientes.forEach(function(paciente) {

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

    var peso = tdPeso.textContent;
    var altura = tdAltura.textContent;

    var alturaEhValida = true;
    var pesoEhValido = true;

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

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

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

    if (alturaEhValida && pesoEhValido) {
        var imc = peso / (altura * altura);
        tdImc.textContent = imc.toFixed(2);
    } else {
        tdImc.textContent = "Altura e/ou peso inválidos!"
    }
});

Abraços!

2 respostas

Fala aí Wilton, beleza? Esse curso é um pouco mais iniciante, portanto, não é abordado técnicas e features modernas do JavaScript (até porque nem estava tão estável o .forEach` quando esse curso foi gravado).

Temos um curso apenas sobre o ES6 onde é abordado várias técnicas bem legais e mais avançadas:

https://cursos.alura.com.br/course/javascript-es6-orientacao-a-objetos-parte-1

Espero ter ajudado.

solução!

Blz, Matheus. De qualquer maneira fica a dica pra quem quiser antecipar essa técnica. ;)