为什么他们将函数分配给 countArray var :function countup(n) { if (n < 1) { return []; } else { var countArray = countup(n - 1); // here countArray.push(n); return countArray; } }
1 回答
慕桂英3389331
TA贡献2036条经验 获得超8个赞
这是一个递归函数
它是一种特殊的函数,是根据其自身定义的。对于最简单的情况,它给出一个直接的常量答案,在本例中为“[]”。但对于更复杂的情况,它会做一些事情,然后调用自己做一些稍微简单的事情。这种自我召唤一直持续到剩下的任务化为乌有。
此函数的一个常见示例是阶乘函数。
Factorial(n) 对于正整数定义n
为:
If n is 1, the answer is 1, otherwise the answer is n * Factorial(n-1)
就您而言,您返回的不是数字,而是数组
为什么它是一个数组,因为你描述的两件事!
基本情况 (n = 0) 创建并返回一个空数组[]
。任何具有更高 n 的调用都会执行以下操作:
Get the array for a one-lower value of n. Push one more value onto the array
由于唯一的基值是 [],并且当你沿着链向上时它发生变化的唯一方式是 by .push
,所以结果总是保证是一个数组。
添加回答
举报
0/150
提交
取消