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

Dúvida no uso do índice.

Não entendi o porquê de se usar o índice [0] no código abaixo.

var trAtual = nossosTrs[posicaoDoTrAtual]; var nomeTd = trAtual.getElementsByClassName("info-nome")[0]; // pega td do nome do paciente atual var pesoTd = trAtual.getElementsByClassName("info-peso")[0]; // pega td do peso do paciente atual var alturaTd = trAtual.getElementsByClassName("info-altura")[0]; // pega td do altura do paciente atual

Qual a necessidade de usar esse índice, já que a posição do vetor do paciente já foi definido na linha: " var trAtual = nossosTrs[posicaoDoTrAtual];"?

3 respostas
solução!

var nomeTd = trAtual.getElementsByClassName("info-nome")[0];

porque getElementsByClassName retorna um array e dentro desse array você só tem uma posição, a primeira. Todo array começa em zero.

Voce esta tentando fazer isso mais ou menos assim:

var arrayFora = [ arrayDentro1[10], arrayDentro2[10], arrayDentro3[10]]; //Array dentro de Array Para pegar o elemento 10 presente em todos, um for assim:

for(var posicaoAtual = 0; posicaoAtual < arrayFora.length; posicaoAtual++){ //só que tem outro array, mas lembre-se que você quer o PRIMEIRO sempre então... var qualquer = arrayFora[posicaoAtual][0]; var outroQualquer = qualquer[0];

// o for entra dentro de todos array de fora, porém pega sempre o da posição [0]. // No exemplo do curso, você está tentando pegar um array ( "info-nome") que tem APENAS um valor, // então, NESSE CASO, está correto. Lembre-se que o getElementsByClassName retorna um array...

}

Entendi, e em qual caso esse array teria mais de uma posição?

se por exemplo dentro do array ("info-nome") fosse passado mais de um nome.

Cada paciente só tem um nome, se por ventura tivesse mais de um, esse array teria mais elementos!

Inclusive cada paciente só possui um nome,peso e altura por isso você repete o código.... ;)