JavaScript básico - Utiliza recursión para crear una cuenta regresiva

Cuéntanos qué está pasando:
Alguien me puede explicar como funciona la recursividad en este codigo, porque con la explicacion que me da no logro entenderlo.
Yo lo entendi asi: Que primero se auto llama la funcion hasta llegar a 1 y despues se hace el push para arriba, desde el ultimo resultado (que seria 1), hasta el primero (que seria 5). Pero no entiendo como entra el 5, si en la primer vuelta hay que restarle 1 por ende queda 4 como primer resultado.
Nose si se entendio bien jaja, pero bueno si alguien me lo puede explicar de todas formas, quiza un poco mas visual se lo agradeceria mucho.

Tu código hasta el momento

function countup(n) {
  if (n < 1) {
    return [];
  } else {
      const countArray = countup(n - 1);
      countArray.push(n);
      return countArray;
  }
}
console.log(countup(5));
// Cambia solo el código debajo de esta línea
function countdown(n){
  return;
}
// Cambia solo el código encima de esta línea

Información de tu navegador:

El agente de usuario es: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36

Desafío: JavaScript básico - Utiliza recursión para crear una cuenta regresiva

Enlaza al desafío:

Como ya entro una vez a la función con el valor cinco, aunque en el primer ciclo recursivo se le haya restado uno casi inmediatamente, el valor cinco se queda guardado

En la mayoria de los casos siempre el primer valor se queda guardado?

Si se queda guardado, en este caso en la variable “n”, y con la función push ya se agrega la array

1 Like