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

Repetição de informações com while

E aí, galera

Então, eu estava assistindo a aula sobre While e quando o professor coloca o seguinte código, o escopo imprime infinitamente "Salvador" por ser o valor que o contador está assumindo

console.log(`\nTrabalhando com loops`)

const listaDeDestinos = new Array(
    `Salvador`,
    `São Paulo`,
    `Rio de Janeiro`
);

const idadeComprador = 15;
const estaAcompanhada = true;
let passagemComprada = false;
const destino = "Rio de Janeiro";

console.log("\nDestinos possíveis:");
console.log(listaDeDestinos);


const podeComprar = idadeComprador >= 18 || estaAcompanhada == true;

let contador = 0;
while (contador < 3) {
    console.log(listaDeDestinos[contador]);
}

Porém, quando ele aumenta um número no valor do contador, utilizando o contador += 1;, o laço de repetição para no Rio de Janeiro. Isso aconteceu porque chegou uma hora que o valor ficou igual a 3?

1 resposta
solução!

Exatamente, Pedro. Você está correto!

Se não definirmos o incremento do contador a cada iteração do while, a condição contador < 3 será sempre verdade, pois 0 sempre será menor que 3, entrando assim em um looping infinito.

Porém, ao utilizarmos contador += 1, a variável irá possuir, por vez, os valores 0, 1 e 2, resultando em três iterações no total e imprimindo as três cidades do array listaDeDestinos. O loop é quebrado quando o contador passa de 2 para o 3, não completando esta volta, pois 3 < 3 é false.