2
respostas

Pegar um valor de um elemento e calcular

Eu tenho o seguinte objeto abaixo e quero pegar o valor que o método checkPeso e checkAltura busca e calcular na formula IMC = Peso/Altura * Altura. Como faço isso?


var Pacientes = {
    nome: document.querySelectorAll('.info-nome'),
    peso: document.querySelectorAll('.info-peso'),
    altura: document.querySelectorAll('.info-altura'),
    gordura: document.querySelectorAll('.info-gordura'),
    imc: document.querySelectorAll('.info-imc'),
    checkPeso: function(){
         for(i = 0; i < this.peso.length; i++){
             var peso = this.peso[i].textContent;
             if (peso <= 0 || peso >= 1000){
                 this.peso[i].textContent = "Peso inválido!";
             };
        };
    },
    checkAltura: function(){
        for(i = 0; i < this.altura.length; i++){
            var altura = this.altura[i].textContent;
            if(altura <= 0 || altura >= 3.00){
                this.altura[i].textContent = "Altura inválida!"
            };
        };
    },
}
2 respostas

Olá Daniel, tudo bem?

Seus métodos checkPeso e checkAltura estão iterando sobre um array de elementos, qual valor especificamente desses elementos você quer pegar? Seria a soma de todos eles?

Olá Fernando, tudo ótimo. E vc? Tenho a seguinte tabela abaixo, nos métodos "checkPeso" e "checkAltura" consigo interagir correto e percorrer os valores da tabela abaixo para "peso" e "altura". Agora quero pegar esses valores e calcular o IMC mas cada um de acordo com o "paciente" na tabela

<table id="table-control">

                        <thead class="thead-control">
                            <tr>
                                <th>Nome</th>
                                <th>Peso(kg)</th>
                                <th>Altura(m)</th>
                                <th>Gordura Corporal(%)</th>
                                <th>IMC</th>
                            </tr>
                        </thead>
                        <tbody class="tbody-control">
                            <tr id="primeiro-paciente" class="paciente">
                                <td class="info-nome">Paulo</td>
                                <td class="info-peso">100</td>
                                <td class="info-altura">2.00</td>
                                <td class="info-gordura">10</td>
                                <td class="info-imc">0</td>
                            </tr>
                            <tr id="segundo-paciente" class="paciente">
                                <td class="info-nome">João</td>
                                <td class="info-peso">80</td>
                                <td class="info-altura">1.72</td>
                                <td class="info-gordura">40</td>
                                <td class="info-imc">0</td>
                            </tr>
                            <tr id="terceiro-paciente" class="paciente">
                                <td class="info-nome">Erica</td>
                                <td class="info-peso">54</td>
                                <td class="info-altura">1.64</td>
                                <td class="info-gordura">14</td>
                                <td class="info-imc">0</td>
                            </tr>
                            <tr id="quarto-paciente" class="paciente">
                                <td class="info-nome">Douglas</td>
                                <td class="info-peso">85</td>
                                <td class="info-altura">1.73</td>
                                <td class="info-gordura">24</td>
                                <td class="info-imc">0</td>
                                </tr>
                            <tr id="quinto-paciente" class="paciente">
                                <td class="info-nome">Tatiana</td>
                                <td class="info-peso">46</td>
                                <td class="info-altura">1.55</td>
                                <td class="info-gordura">19</td>
                                <td class="info-imc">0</td>
                            </tr>
                        </tbody>

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