递归JavaScript中的问题
我是JavaScript的初学者,想知道将递归JavaScript中的问题,javascript,arrays,Javascript,Arrays,我是JavaScript的初学者,想知道将倒计时(n-1)赋值给countArray有什么意义,以及为什么我们不使用push()而不是unshift()解释 函数倒计时(n){ if(n
倒计时(n-1)
赋值给countArray
有什么意义,以及为什么我们不使用push()
而不是unshift()解释
函数倒计时(n){
if(n<1){
返回[];
}否则{
var countArray=倒计时(n-1);
countArray.unshift(n);
返回计数数组;
}
}
console.log(倒计时(5));//[5,4,3,2,1]
这里你给出一个像5这样的数字,它将创建一个像[5,4,3,2,1]这样的逆序数组
Unshift基本上是将元素放在数组的第一个位置
让我们一步一步走
首先,它将检查5倒计时(n-1)
调用倒计时函数,值n
递减1。例如,如果您的第一个调用是倒计时(5)
,当遇到行倒计时(n-1)
时,将使用值4-(倒计时(4))调用倒计时
这将一直持续到n的值小于0,此时函数返回空数组
unshift
从数组中删除值,而push
将值添加到数组中。这段代码会逐渐清空数组,这就是为什么会使用unshift。你读过vs.的文档吗?你能解释一下这一行的作用吗:“var countArray=countdown(n-1);”它将调用countdown(n-1)
的结果赋给一个名为countArray