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

Arrays com parênteses ()

Ola a todos!

Tenho uma dúvida:

Sempre quando falam de array, ela é representada com colchetes [], porem nessa vídeo aula ataca um classe e diz que isso é uma array.

var trsPacientes = document.getElementsByClassName("paciente") // Array de trs


var posicaoAtual = 0;
while(posicaoAtual <= trsPacientes.length - 1) {

    var pacienteTr = trsPacientes[posicaoAtual];

    var tdNome = pacienteTr.getElementsByClassName("info-nome")[0];
    var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0];
    var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];

Isso é válido mesmo com parênteses ?

Muito obrigado.

4 respostas

Oi Marcelo, tudo bem ?

Como o javascript é uma linguagem com tipagem implícita, talvez fique um pouco ruim.

Contudo sugiro que você faça esse comando para ver que o método getElementsByClassName realmente trás um array :

console.log(trsPacientes);

Espero ter ajudado.

Abraços

......

solução!

A função getElementsByClassName(), quando não tem elemento especificado, retorna um array com as tags que tem a classe com o nome escrito dentro do parenteses. Ou seja se eu escrever :

 var tdNome = pacienteTr.getElementsByClassName("info-nome");

Perceba que eu não especifiquei qual o índice que desejo, logo essa função quer dizer o seguinte : Procure dentro da tag que tenha a classe paciente, todas as tags que tenham classe chamada "info-nome" e ponha todas dentro da variável tdNome, cada uma armazenada em um índice de 0 até (n-1) onde n assume a quantidade de tags que tenha classe "info-nome".

Agora observe o seguinte código :

 var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];

perceba que estou especificando que quero o índice de numero [0], ou seja só quero o primeiro elemento. O que esse código me diz ?

Procure dentro da tag que tenha a classe paciente somente a primeira tag que tenha a classe chamada "info-altura" e coloque dentro da variável tdAltura. Espero ter ajudado !

Obrigado Leonardo e Matheus pelo esclarecimento!

Agradecido!