为了账号安全,请及时绑定邮箱和手机立即绑定

《利用递归创建倒计时 FreeCodeCamp》

《利用递归创建倒计时 FreeCodeCamp》

互换的青春 2023-06-29 15:47:50
为什么他们将函数分配给 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,所以结果总是保证是一个数组。


查看完整回答
反对 回复 2023-06-29
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信