Olá, Victor!
Entendo a sua curiosidade e é ótimo ver que você está explorando diferentes maneiras de escrever o código. No entanto, a maneira como você estruturou o seu código pode não funcionar como esperado.
O problema com o seu código é que ele vai parar a execução do loop while
na primeira iteração, independentemente de encontrar ou não o destino na lista. Isso ocorre porque você colocou um break
tanto no if
quanto no else
. O break
interrompe o loop atual e continua a execução do programa a partir da instrução seguinte ao loop. Então, seja o destino encontrado ou não, o loop será interrompido na primeira iteração.
Uma maneira mais eficiente de escrever esse código seria remover o break
do bloco else
. Assim, o loop continuará até que o destino seja encontrado ou até que tenha percorrido toda a lista de destinos.
Aqui está um exemplo de como você pode fazer isso:
const destino = "China";
let contador = 0;
let destinoExiste = false;
while (contador < listaDeDestinos.length) {
if(listaDeDestinos[contador] == destino) {
console.log("Destino existe");
destinoExiste = true;
break;
}
contador += 1;
}
if (!destinoExiste) {
console.log(`Destino não existe, porque não temos ${destino} na nossa lista`);
}
Neste código, se o destino existir na lista, a mensagem "Destino existe" será impressa e o loop será interrompido. Se o destino não for encontrado após percorrer toda a lista, a mensagem "Destino não existe, porque não temos ${destino} na nossa lista" será impressa.
Espero ter ajudado e bons estudos!