Boa noite,
gostaria de explicação sobre como percorrer o loop em outras palavras. Vi o vídeo duas vezes e li a apostila e ainda não entendi. Especialmente o trecho abaixo:
var trsPacientes = document.getElementsByClassName("paciente");
for (var posicaoAtual = 0; posicaoAtual <= trsPacientes.length - 1; posicaoAtual++) {
var pacienteTr = trsPacientes[posicaoAtual];
var tdNome = pacienteTr.getElementsByClassName("info-nome")[0]; //array de classe nome
var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0];
var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];
var paciente = {
nome : tdNome.textContent,
peso : tdPeso.textContent,
altura : tdAltura.textContent,
};
console.log("a");
if (paciente.altura != 0) {
console.log("b");
var imc = paciente.peso / (paciente.altura * paciente.altura);
var tdImc = pacienteTr.getElementsByClassName("info-imc")[0];
tdImc.textContent = imc;
console.log(imc);
} else {
console.log("Não posso executar uma divisão por 0!");
}
}
Por que utilizar o zero para indicar a posição atual e como ele consegue percorrer o poop (incrementando para 1, 2...)?
Tentei fazer assim e deu erro quando foi preehcher a segunda linha:
var trsPacientes = document.getElementsByClassName("paciente");
for (var posicaoAtual = 0; posicaoAtual <= trsPacientes.length - 1; posicaoAtual++) {
var pacienteTr = trsPacientes[posicaoAtual];
var tdNome = pacienteTr.getElementsByClassName("info-nome")[posicaoAtual]; //array de classe nome
var tdPeso = pacienteTr.getElementsByClassName("info-peso")[posicaoAtual];
var tdAltura = pacienteTr.getElementsByClassName("info-altura")[posicaoAtual];
var paciente = {
nome : tdNome.textContent,
peso : tdPeso.textContent,
altura : tdAltura.textContent,
};
console.log("a");
if (paciente.altura != 0) {
console.log("b");
var imc = paciente.peso / (paciente.altura * paciente.altura);
var tdImc = pacienteTr.getElementsByClassName("info-imc")[posicaoAtual];
tdImc.textContent = imc;
console.log(imc);
} else {
console.log("Não posso executar uma divisão por 0!");
}
}