fork download
  1.  
  2.  
  3. function rec(n) {
  4. print('n='+n+' Iniciando');
  5.  
  6. if (n < 1) {
  7. print('n='+n+' Retornando vazio');
  8. return [];
  9. }
  10.  
  11. print('n='+n+' chamando recursão com n-1 ('+(n-1)+')');
  12. arr = rec(n-1);
  13.  
  14. print('n='+n+' Dando unshift de '+n);
  15. arr.unshift(n);
  16.  
  17. print('n='+n+' Retornando ['+(arr.toString())+']');
  18. return arr;
  19. }
  20.  
  21. print('Chamando funcao original');
  22. rec(10);
Success #stdin #stdout 0.02s 16676KB
stdin
Standard input is empty
stdout
Chamando funcao original
n=10 Iniciando
n=10 chamando recursão com n-1 (9)
n=9 Iniciando
n=9 chamando recursão com n-1 (8)
n=8 Iniciando
n=8 chamando recursão com n-1 (7)
n=7 Iniciando
n=7 chamando recursão com n-1 (6)
n=6 Iniciando
n=6 chamando recursão com n-1 (5)
n=5 Iniciando
n=5 chamando recursão com n-1 (4)
n=4 Iniciando
n=4 chamando recursão com n-1 (3)
n=3 Iniciando
n=3 chamando recursão com n-1 (2)
n=2 Iniciando
n=2 chamando recursão com n-1 (1)
n=1 Iniciando
n=1 chamando recursão com n-1 (0)
n=0 Iniciando
n=0 Retornando vazio
n=1 Dando unshift de 1
n=1 Retornando [1]
n=2 Dando unshift de 2
n=2 Retornando [2,1]
n=3 Dando unshift de 3
n=3 Retornando [3,2,1]
n=4 Dando unshift de 4
n=4 Retornando [4,3,2,1]
n=5 Dando unshift de 5
n=5 Retornando [5,4,3,2,1]
n=6 Dando unshift de 6
n=6 Retornando [6,5,4,3,2,1]
n=7 Dando unshift de 7
n=7 Retornando [7,6,5,4,3,2,1]
n=8 Dando unshift de 8
n=8 Retornando [8,7,6,5,4,3,2,1]
n=9 Dando unshift de 9
n=9 Retornando [9,8,7,6,5,4,3,2,1]
n=10 Dando unshift de 10
n=10 Retornando [10,9,8,7,6,5,4,3,2,1]