我很高兴在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()
,将任何你喜欢的整数作为参数传递。
答案 0 :(得分:1)
在指令中我发现循环应该从i = 1开始并在i等于极限值时结束但是你的条件是
for(i=1;i==limit;i++)
这一直都是假的。所以你需要改变自己的状况。
这是正确的:
for(i=1;i<=limit;i++)
答案 1 :(得分:1)
这里是一个递归的例子,可能它不是你的问题的答案,但你可能理解它是如何工作的(代码中的注释是对正在发生的事情的解释):
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;