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

为什么他们将函数分配给 countArray var :


function countup(n) { 

   if (n < 1) {

     return [];  

 } else {  

   var countArray = countup(n - 1); // here

     countArray.push(n);  

   return countArray;

   }

 }


互换的青春
浏览 95回答 1
1回答

慕桂英3389331

这是一个递归函数它是一种特殊的函数,是根据其自身定义的。对于最简单的情况,它给出一个直接的常量答案,在本例中为“[]”。但对于更复杂的情况,它会做一些事情,然后调用自己做一些稍微简单的事情。这种自我召唤一直持续到剩下的任务化为乌有。此函数的一个常见示例是阶乘函数。Factorial(n) 对于正整数定义n为:If&nbsp;n&nbsp;is&nbsp;1,&nbsp;the&nbsp;answer&nbsp;is&nbsp;1,&nbsp; otherwise&nbsp;the&nbsp;answer&nbsp;is&nbsp;n&nbsp;*&nbsp;Factorial(n-1)就您而言,您返回的不是数字,而是数组为什么它是一个数组,因为你描述的两件事!基本情况 (n = 0) 创建并返回一个空数组[]。任何具有更高 n 的调用都会执行以下操作:Get&nbsp;the&nbsp;array&nbsp;for&nbsp;a&nbsp;one-lower&nbsp;value&nbsp;of&nbsp;n. Push&nbsp;one&nbsp;more&nbsp;value&nbsp;onto&nbsp;the&nbsp;array由于唯一的基值是 [],并且当你沿着链向上时它发生变化的唯一方式是 by&nbsp;.push,所以结果总是保证是一个数组。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript