Hola Dilia, me hice la misma pregunta hace un tiempito y me parece que es por el efecto cascada.
Lo que le estamos diciendo es que mientras el presupuesto sea menor al precio del pasaje, siga comprobando y cuando encuentre uno menor al presupuesto, que nos diga que pasaje es.
En el tutorial se puso valores descendentes en los pasajes Bogota 500, lima 400, santiago 380, montevideo 200. Si el presupuesto es de 600 se detiene en Bogotá, si es de 390 se detiene en Santiago.
Me parece que si alteramos el orden de los precios de los pasajes (no lo he probado) por ejemplo a montevideo 200, Bogota 500, lima 400, santiago 380, si le ponemos cualquiera de los valores 600 o 390 al presupuesto siempre nos va a arrojar Montevideo.
Imagino que para obtener el resultado que dices se debería redefinir el While algo asi
while (i< datos.lenght){
if( datos[i].precio < presupuestoDisponible) {
console.log("puedes comprar pasaje para : " + datos[i].ciudad + " a $" + datos[i].precio )
}
i++
}
No puedo probarlo en este instante, no estoy en casa