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

E se tirar o igual?

olá, retirando o igual da condição ele funciona, pode ocorrer alguma implicação?

var frutas = ["banana","maçã", "uva", "laranja", "pêssego", "limão", "melão", "melancia"];
var posicao = 0;

while( posicao < frutas.length ){
    var frutaAtual = frutas[posicao];
    console.log(frutaAtual);
    posicao++;
}
6 respostas
solução!

Neste caso não. Como o While começa com a sua variável "posição" com o valor zero, ele vai repetir a condição enquanto esta variável for menor que o tamanho do array "frutas" (que é 8).

Como os elementos do array começam na posição zero, ele vai imprimir os elementos da posição 0 até a posição 7, ou seja, vai imprimir todos os elementos do array.

vlw!

Outra opção para resolver esse problema seria iniciar a variável de controle com o valor 1. Estou certo?

Michael, se você iniciar com 1 não vai imprimir o primeiro elemento.

Arrays começam na posição 0 em JS.

Pessoal, nesse loop foi utilizado o comparador <= com o propósito de ilustrar que o array de 8 elementos começa em 0 e termina em 7, forçando o aluno a considerar que a condição deve terminar em 7, ou seja length - 1. Normalmente fazemos esse loop com a comparação < mesmo. No dia a dia seria "while( posicao < frutas.length )", ou mesmo "for ( var i = 0; i < frutas.length; i++ )".

Ótima resposta Bruno Barauskas!