Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

dúvida na propriedade array.length

Bom Dia,

Gostaria de tirar uma dúvida na propriedade array.length seguindo esse exemplo :

var arrayPacientes = document.querySelectorAll(".paciente");

for (var i = 0; i < arrayPacientes.length; i++) {
  var paciente = arrayPacientes[i];
  console.log(paciente);

Gostaria de entender o porque de (i < arrayPacientes.length) o array desse exemplo vai retornar 5 índices no caso (0,1,2,3,4) então gostaria de entender por que não poderia atribuir no meu for (i <= arrayPacientes.length) , nesse caso específico o retorno de arrayPacientes.length seria o numeral 5 ou o numeral 4 ?

1 resposta
solução!

Maurício,

a variável arrayPacientes possui 5 valores, com índices de 0 a 4.

arrayPacientes.length retorna um valor igual a 5.

Seu contador 'for' do jeito que está começa com zero (i = 0) e vai até 4, sendo que este 4 indica o quinto valor na sua array (arrayPacientes[4]).

Se usasse i <= arrayPacientes.length seu contador iria de zero até 5, o que dariam 6 valores para apresentar, sendo que o sexto valor (arrayPacientes[5]) não existe.

Rode o código abaixo e olhe no console:

<script>
var vogais = ["a", "e", "i", "o" ,"u"];
console.log("tamanho da string:" + vogais.length);
console.log("A string contem: " + vogais);
for(i = 0; i < vogais.length; i++){
    console.log("posicao da string:"+ i);
    console.log("valor na string: " + i + ": " + vogais[i]);
}
</script>