Saltar al contenido principal
Codigo Heroe
Tarea anterior
Funciones17/19
A la lista de tareas
  1. 1. Cálculo de millas con variables
  2. 2. Condición para vuelos largos
  3. 3. Reutilizar variables sin declararlas de nuevo
  4. 4. Crear una función
  5. 5. Llamar a una función
  6. 6. Parámetros y argumentos
  7. 7. Orden de los argumentos
  8. 8. Devolver un valor con return
  9. 9. Parámetros booleanos
  10. 10. Guardar el resultado en una variable
  11. 11. Salida anticipada con return
  12. 12. Simplificar el cálculo con una variable
  13. 13. Agregar una condición al cálculo
  14. 14. Llamar a una función desde otra
  15. 15. Agregar un parámetro y redondear el resultado
  16. 16. Devolver y usar la cantidad de vuelos
  17. 17. Reutilizar los resultados de una función
  18. 18. Comparar los resultados
  19. 19. Llamar a funciones dentro de un ciclo
Siguiente tarea
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Reutilizar los resultados de una función

Refactoricemos el código antes de terminar el programa para Cupcake.

¿Por qué otra refactorización?

Después tendremos que comparar los resultados y mostrar recomendaciones para el jefe. Es decir, usaremos varias veces los resultados de calculateFlights. Por eso tiene sentido guardarlos en variables y usarlas después. Si queremos obtener datos para otras ciudades, solo cambiaremos los argumentos en un lugar, en vez de buscarlos por todo el código.

¿Cómo llamamos a las variables que contienen la cantidad de vuelos a Lisboa y a Valencia? Lo primero que se nos ocurre es darles nombres concretos: flightsToValencia y flightsToLisbon. Pero son demasiado específicos. Si Cupcake decide volar a Winnipeg, en Canadá, en lugar de Valencia, tendremos que cambiar el nombre de la variable. Y lo mismo cada vez que cambie el destino.

También podemos crear las variables flightsEconom y flightsBusiness. Esa opción tampoco es la mejor, porque volamos a distintas ciudades: no solo cambia la clase, también las distancias.

Usemos nombres sencillos: flightsVariantFirst y flightsVariantSecond. Así podrán guardar resultados para cualquier distancia y clase de vuelo.

  • script.js
JavaScript
let calculateMiles = function (distance, isBusinessClass) { let percent = 0.18; if (isBusinessClass) { percent += 0.04; } if (distance > 3500) { percent += 0.15; } return distance * percent; }; let calculateFlights = function (distance, isBusinessClass, milesTarget) { let miles = calculateMiles(distance, isBusinessClass); let flights = Math.ceil(milesTarget / miles); return flights; }; console.log('Vuelos necesarios a Valencia en clase ejecutiva: ' + calculateFlights(3118, true, 15000)); console.log('Vuelos necesarios a Lisboa en clase económica: ' + calculateFlights(3617, false, 15000));
Consola

El código ha cambiado, haga clic en "Ejecutar" o active la ejecución automática.

Resultado de la ejecución

ObjetivosRealizado
0
    1. Después de declarar la función que calcula los vuelos, guarda el resultado de calculateFlights(3118, true, 15000) en una nueva variable llamada flightsVariantFirst.
    2. En el mensaje de la consola, sustituye calculateFlights(3118, true, 15000) por flightsVariantFirst.
    3. Guarda el resultado de calculateFlights(3617, false, 15000) en la variable flightsVariantSecond.
    4. En el mensaje de la consola, sustituye calculateFlights(3617, false, 15000) por flightsVariantSecond.
    Codigo Heroe

    © 2023-2026, codigoheroe.com