首页 > 解决方案 > 使用递归创建倒计时 | FreeCodeCamp 递归问题

问题描述

var a=[];
// Only change code below this line
function countdown(n){
  
  if(n>=1){
    
    countdown(n-1);
    console.log(n);
    a.push(n);
    return a;
  }
  else{
    return [];
  }
}
console.log(countdown(5));

这里想知道回忆倒计时功能后为什么n打印成1,2,3,4,5的样子?应该是5,4,3,2,1?

标签: javascriptarraysfunctionrecursionprinting

解决方案


console.log(n);切换and的顺序,countdown(n-1);您将获得预期的行为。

var a=[];
// Only change code below this line
function countdown(n){
  
  if(n>=1){
    
    console.log(n);
    countdown(n-1);
    a.unshift(n);
    return a;
  }
  else{
    return [];
  }
}
console.log(countdown(5));


推荐阅读