Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

277
Vistas
¿Qué está pasando aquí? Estoy tratando de entender la recursividad y esta función de retorno.

 function countup(n) { if (n < 1) { return []; } else { const countArray = countup(n - 1); countArray.push(n); return countArray; } } console.log(countup(5));

Hasta ahora entiendo que al establecer countArray en la función, decide llamarse a sí misma hasta n = 0. En ese punto, devuelve una matriz vacía a countArray, pero simplemente no entiendo qué sucede después de ese punto que da este resultado extraño de los números que se ordenan, supuse que simplemente empujaría el valor actual de N siendo 0 a la matriz, pero claramente no...

¿Alguien sabe lo que está pasando aquí?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

0 no se inserta en la matriz debido a la condición if. En ese momento, su countArray está configurado en [].

Cuando se usa el intérprete de recursión, se necesita una forma de poder comprender en qué orden deben procesarse estas funciones.

Cuando su secuencia de comandos se ejecuta por primera vez, el intérprete crea un contexto de ejecución global y lo empuja a la pila de ejecución.

Una vez que termina, el motor ejecuta primero la función cuyo contexto de ejecución está en la parte superior de la pila. En tu caso n=1. Lo empuja a la matriz, lo saca de la pila y luego continúa n=2 y así sucesivamente hasta que llega al último en la pila n=5

 function countup(n) { if (n < 1) { return []; } else { const countArray = countup(n - 1); console.log(n) countArray.push(n); return countArray; } } console.log(countup(5));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda