3
respuestas

Duda sobre el órden de los precios del pasaje de cada ciudad

Hola nuevamente, saludos desde México. La duda que tengo es nuevamente referente al órden de los precios del pasaje a cada ciudad, yo he venido manejando precios en un órden ascendente de menor a mayor dentro de la lista y ahora dentro del mapa. Caso contrario el profesor tiene la lista ordenada de mayor a menor. En el caso del profesor el código que presenta como ejemplo funciona y determina la ciudad disponible de acuerdo al presupuesto disponible, sin embargo en mi caso, cualquier valor mayor a cualqueira de las ciudades, solamente me arroja Mérida como ciudad disponible, incluso si el presupuesto disponible coincide con el valor exacto de otras ciudades diferentes de Mérida. Ya he analizado desde lo que logro entender y no encuentro razón para que esto esté ocurriendo, alguine me puede decir que está mal en el código?, o es forzoso que ordene los valores del costo del pasaje de mayor a menor para que funcione el código??. Adjunto el código:

const datos = [
    {
    ciudad:"Mérida", 
    precio:500
    },
    {
    ciudad:"brasilia", 
    precio:550
    },
    {
    ciudad:"La habana", 
    precio:700
    },
    {
    ciudad:"Santiago", 
    precio:750
    },
    {
    ciudad:"Lima", 
    precio:800
    },

    ]

const presupuesto = 551;

let i = 0
while (i< datos.length && datos[i].precio > presupuesto) {
    i++
}

if (i == datos.length)
    console.log("No tenemos pasajes disponibles")
else 
    console.log("puedes comprar pasajes para:" + datos[i].ciudad);

Opinión: Quiero dar mi opinión respecto al contenido de las clases; desde mi punto de vista, si bien es cierto que duerante la clase, se van cometiendo errores, y eso retrasa el proeceso de aprendisaje y entendimiento un poco para quienes venimos de otras áreas y comenzamos desde cero, es de mi opinión, que el que ocurra esto. también es muy útil, ya que estamos viendo diferentes ángulos del problema, ya que en ocasiones la enseñanza es muy lineal, te dan todo como receta y funciona, sin embargo cuando estamos por nuestra cuenta y nos mueven la perpectiva estamos sufriendo por que nos quedamos con lo aprendido, y no podemos ver el problema desde otro ángulo. El que el profesor vaya cometiendo errores, ya que no hay como un guión tan específico, me parece bueno, y surgen dudas que nos llevan a investigar, a preguntar y por lo tanto a aprender más. La sugerencia es, que quizá sea bueno, no se si lo hagan, que el video sea revisado por alguien más e incluso por el profesor mismo, después de haberlo terminado, y justo revisar, desde la óptica de quienes ya tienen experiencia en programación, si hay algún asécto que subsanar, respecto del video, y hacer la aclaración, en el video siguiente, como algunos de los profesores de cursos anteriores, lo hacian, si detectaban algún error en la clase anterior lo aclaraban en el siguiente video. Considero que no es tan grave, el asunto, quizá, después de encontrar y razonar el error, el profesor debiera tomar un tiempo para explicar, que es lo que estaba pasando, y cómo lo resolvió. Ánimo a todos, reuerden que cmo este curso es asincrónico, este tipo de situaciones es de esperar, la dificultad de no tener la clase en vivo es justo que pase ésto, pero esto sólo significa que debemos actuar también de manera más autodidacta, y hacer uso de las herramientas, como el foro aqui o en Discord, y de la documentación oficial. Saludos.

3 respuestas

hola Nau,

eso o tambien podrias intentar modificar el i++ por un i-- para ver si funciona, sino cambialo igual al profesor, saludos.

Hola el inconveniente se da por el orden la lista que usas, fíjate: en el while estas preguntando 500 > 551 es falso y nunca ingresa al while. Pero i=0 por eso te retorna Merida. te recomiendo que uses el depurador y lo ejecutes paso a paso para ver como se ejecuta tu código

si cambias el signo del while por <, también va a tener que modificar el if-else

Hey!!! Muchas gracias a ambos. por sus respuestas, me son muy útiles para revisar mi código y resolver mis dudas. Saludos.