Code Academy 4/26 Javascript Recursion

时间:2015-08-16 20:07:47

标签: javascript recursion

我很高兴在JavaScript中学习递归(或尝试),我已经完成了Code Academy向我提出的所有要求,但无论如何都有问题。谁能请(谢谢!)告诉我哪里出错了? Code Academy只是报告错误,但它没有告诉我在哪里。

这是我的代码,我已粘贴下面的说明。

function multiplyBy10(number) {
  console.log(number * 10);
}

function multiplesOf10(limit) {
   for(i=1;i==limit;i++){
    multiplyBy10(i);
   }
}

multiplesOf10(100);

说明:

通过添加for循环来完成multiplesOf10()的定义。

for循环应以i = 1开头,并在i等于limit的值时结束。

在for循环中,调用函数multiplyBy10()并将变量i作为参数传递给它。

最后,在代码末尾调用函数multiplesOf10(),将任何你喜欢的整数作为参数传递。

2 个答案:

答案 0 :(得分:1)

在指令中我发现循环应该从i = 1开始并在i等于极限值时结束但是你的条件是    for(i=1;i==limit;i++)这一直都是假的。所以你需要改变自己的状况。 这是正确的:

for(i=1;i<=limit;i++)

答案 1 :(得分:1)

这里是一个递归的例子,可能它不是你的问题的答案,但你可能理解它是如何工作的(代码中的注释是对正在发生的事情的解释):

&#13;
&#13;
 array = [];  //this array is going to be populated by one entry each time we call the function 
function multiplesOf10(limit) {

 
  if (limit == 0 ){return array}//this is the end point or recusion and will return the array with results
  
  array.unshift(10*limit);//will add the entry to beginning of array
  
  return multiplesOf10(limit-1);//recursion
  
}

console.log(multiplesOf10(10));
&#13;
&#13;
&#13;