Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

273
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda