• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

241
Views
¿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 3 years ago · Juan Pablo Isaza
1 answers
Answer question

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 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error