我们定义了一个名为Countdown的函数,它只有一个参数(N)。该函数应使用递归根据n参数返回包含从n到1的整数的数组。如果使用小于1的数字调用该函数,则该函数应返回空数组。例如,调用n=5的此函数应返回数组[5,4,3,2,1]。函数必须通过调用自身来使用递归,并且不能使用任何类型的循环。
// Only change code below this line
function countdown(n){
if (n<1)
return [];
else{
const numbArray = countdown(n-1);
numbArray.push(n)
return numbArray;
}
}
console.log(countdown(5))
// Only change code above this line
看起来像[1 2 3 4 5]
而不是[5 4 3 2 1]
我一直在绞尽脑汁,然后我用unShift方法完成了它,但我觉得它想让我使用Push,尽管这会将数据发送到堆栈的末尾
2条答案
按热度按时间qlzsbp2j1#
基本上,它只计算开始时给出的终止值
ippsafx72#
你可以用这个代码替换,问题的原因是你不理解递归,试着打破点,在浏览器或vscode中一步一步地观察函数的执行