1
resposta

Resolução alternativa

Eu calculei o IMC por meio de uma função e, em seguida, apliquei ela em um loop "for" para cada item da matriz. Essa abordagem permite que eu adicione outras funções de cálculo abaixo da função "imc", se necessário.

//declarações

let p = document.querySelectorAll('.paciente');

//funções

function imc(x) {

    let p = (x.querySelector('.info-peso')).textContent;
    let a = (x.querySelector('.info-altura')).textContent;

    let imc = x.querySelector('.info-imc');

    if(p <= 300 && p > 0 && a <= 3 && a > 0) {

        imc.textContent = Math.round((p / (a * a)));

    } else {
        imc.textContent = "Altura e/ou peso inválido(s).";
    }

}

//aplicações

for(let i = 0; i < p.length; i++) {

    imc(p[i]);  

}

1 resposta

Olá Raony!

Sua abordagem de calcular o IMC por meio de uma função e, em seguida, aplicá-la em um loop "for" para cada item da matriz é uma ótima maneira de organizar o código e torná-lo mais escalável.

Além disso, é muito bom que você tenha adicionado uma verificação para garantir que os valores inseridos para peso e altura estejam dentro de um intervalo válido. Isso ajuda a evitar erros e resultados incorretos.

Continue os bons estudos.

Um abraço.