Hola Diego,
Gracias por compartir tu código.
Primeramente necesitamos filtrar de las "ciudades disponibles" las que están al alcance de nuestro presupuesto. En JavaScript tenemos un metodo perfecto para esto, que se llama filter
.
Con filter
podemos iterar por un array y en cada elemento el hará una verificación de una condición que nosotros pasamos a el, al final retornará todos los elementos que pasaron en la verificación.
Con esto no necesitaremos más del while, solo de la verificación si tenemos ciudades a donde ir con nuestro presupuesto o no.
const ciudadesDisponibles = new Array(
"Bogotá",
"Lima",
"Santiago",
"Montevideo"
);
const precioCiudad = new Array(500, 400, 380, 200);
const presupuestoDisponible = 420;
// Creamos una variable de destinos posibles que recibirá el resultado del filter
// Dentro del filter pasamos una función arrow.
// El primer parametro de la función es el elemento del array, o sea la ciudad, y el segundo es el indice
// Luego pasamos una condición que si el precio de la ciudad es menor o igual a nuestro presupuesto
// Al final será retornado un nuevo array con los elementos filtrados que en este caso será las ciudades
// posibles de viajar
let destinosPosibles = ciudadesDisponibles.filter(
(ciudad, i) => precioCiudad[i] <= presupuestoDisponible
);
// Aqui verificamos si el array de destinos posibles es igual que cero
// Si lo es, decimos que no hay pasajes disponibles
// Si no lo es, decimos que se puede comprar los pasajes y agregamos las ciudades disponibles
// Usamos el metodo join para juntar las ciudades del array en una string
// y pasamos una coma con espacio como parametro para separar las ciudades
if (destinosPosibles.length === 0) {
console.log("No tenemos pasajes disponibles ");
}
else {
console.log("Puedes comprar pasaje para: " + destinosPosibles.join(", "));
}
Te dejaré algunas lecturas adicionales en caso de que no conozcas los metodos filter y join:
https://www.aluracursos.com/blog/manipulacion-de-array-con-map-filter-y-reduce
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/join
Cualquier duda que tengas no dejes de preguntar, estaré aqui para ayudarte.
¡Saludos!
Si este post te ayudó, por favor marca como solucionado ✓. ¡Continúa con tus estudios!