Saltar al contenido principal
Codigo Heroe
Tarea anterior
Funciones19/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
Lista de tareas
  • Matriz de skills
  • Cursos
  • Registro
  • Iniciar sesión

Loading…
En unos segundos, estará listo.

  • Teoría
  • Teoría

Llamar a funciones dentro de un ciclo

Descubrimos que es más fácil acumular las millas para Tokio volando a Lisboa en clase económica. ¿Y las otras ciudades? Cupcake nos avisó que Tokio era solo una parte de su plan. También quiere volar gratis a Saskatoon (3000 millas) y Asunción (7500 millas).

Claro que no vamos a llamar a calculateFlights a mano para cada destino. Guardaremos todas las cantidades de millas en un arreglo, sin olvidar Tokio. Lo recorreremos y, en cada iteración, llamaremos a calculateFlights para los vuelos a Valencia y a Lisboa. Le pasaremos el elemento actual del arreglo: la cantidad de millas necesaria para viajar a una de las ciudades de la lista de Cupcake.

¿Qué ventaja tienen el arreglo y el ciclo? Podemos ampliar la solución a cualquier cantidad de ciudades: 2, 10 o incluso 100. El ciclo recorrerá el arreglo, llamará a la función que calcula los vuelos y después comparará los resultados. Repetirá esos pasos para cada elemento del arreglo.

Agreguemos el arreglo y el ciclo para decirle por fin a Cupcake cómo acumular las millas para los viajes de sus sueños. ¡Rápido, que ya lleva un buen rato esperando!

  • 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; }; // Agrega el arreglo y el ciclo aquí let flightsVariantFirst = calculateFlights(3118, true, 15000); let flightsVariantSecond = calculateFlights(3617, false, 15000); console.log('Vuelos necesarios a Valencia en clase ejecutiva: ' + flightsVariantFirst); console.log('Vuelos necesarios a Lisboa en clase económica: ' + flightsVariantSecond); if (flightsVariantFirst > flightsVariantSecond) { console.log('¡Acumularás millas más rápido volando a Lisboa en clase económica! Cantidad de vuelos: ' + flightsVariantSecond); } else { console.log('¡Acumularás millas más rápido volando a Valencia en clase ejecutiva! Cantidad de vuelos: ' + flightsVariantFirst); }
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 calculateFlights, crea la variable targets con el arreglo [3000, 7500, 15000].
    2. Después de targets, crea un ciclo for que recorra el arreglo targets desde el primer elemento hasta el último con el contador i.
    3. Mueve al interior del ciclo todo el código que aparece debajo de él.
    4. En las llamadas a calculateFlights, sustituye el último argumento por el elemento actual del arreglo targets.
    Codigo Heroe

    © 2023-2026, codigoheroe.com