1
resposta

Não entendi o contador muito bem

console.log(`\nTrabalhando com condicionais`);



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

const idadeComprador = 17;
const estaAcompanhada = false;
let temPassagemComprada = false;
const destino = "Rio de Janeiro";

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


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

let contador = 0;
while(contador < 3) {
   if (listaDeDestinos[contador] == destino) {
       console.log("Destino existe");
   }else{
       console.log("Destino não existe");
   }
    contador += 1;
}

gostaria de uma explicação mais detalhada sobre a função do contador no while

1 resposta

Olá Gabriela

Primeiramente o contador é defenido como 0, então função só irá funcionar enquanto o contador for até 2. No primeiro if está acontecendo uma validação se a variavel array listaDeDestinos na posição 0, que é quanto vale a variavel contador atualmente, se ela é igual a variavel destino. Ou seja se listaDeDestinos[contador] que é 'Salvador' é igual a 'Rio de Janeiro'.

Como essa comparação não é verdade irá acontecer oque esta no else, "Destino não existe".

Logo em seguida a variavel contador recebe

contador += 1; isso é o mesmo que contador = contador + 1;

Agora contador passa a ter o valor de 1, em seguida continuara o loop ja que contador continua sendo menor que 3, porém agora listaDeDestinos[contador] trará o valor de 'São Paulo'. Mas a comparação ainda será falsa. Somente no ultimo loop aparecera a mensagem dentro do if.

Segue abaixo o código com alguns consoles para mostrar melhor oque esta acontecendo dentro do while:


console.log(`\nTrabalhando com condicionais`);

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

const idadeComprador = 17;
const estaAcompanhada = false;
let temPassagemComprada = false;
const destino = "Rio de Janeiro";

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

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

let contador = 0;
while (contador < 3) {
  console.log("\n\nValor do contador no inicio: " + contador);
  console.log("Valor da comparação: ");
  console.log(listaDeDestinos[contador] == destino);
  if (listaDeDestinos[contador] == destino) {
    console.log("Destino existe");
  } else {
    console.log("Destino não existe");
  }
  contador += 1;
  console.log("Valor do contador no fim: " + contador);
}