代码学院4/26 Javascript递归
我在学习JavaScript中的递归(或尝试递归)方面玩得很开心,代码学院要求我做的每件事我都做了,但还是有点不对劲。谁能告诉我哪里出了问题吗?代码学院只是报告有一个错误,但它没有告诉我在哪里 这是我的代码,我已经在下面粘贴了说明代码学院4/26 Javascript递归,javascript,recursion,Javascript,Recursion,我在学习JavaScript中的递归(或尝试递归)方面玩得很开心,代码学院要求我做的每件事我都做了,但还是有点不对劲。谁能告诉我哪里出了问题吗?代码学院只是报告有一个错误,但它没有告诉我在哪里 这是我的代码,我已经在下面粘贴了说明 function multiplyBy10(number) { console.log(number * 10); } function multiplesOf10(limit) { for(i=1;i==limit;i++){ multiplyB
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
等于限制值时结束
在for循环中,调用函数multiplyBy10()
,并将变量i
作为参数传递给它
最后,在代码末尾调用函数multiplesOf10()
,传递任何喜欢的整数作为参数。在指令中,我发现循环应该以I=1开始,当I等于limit的值时结束,但您的条件是
for(i=1;i==limit;i++)
始终为false。所以你需要改变你的状况。
这是正确的一个:
for(i=1;i<=limit;i++)
for(i=1;i这里是一个递归示例,可能它不是问题的答案,但您可能理解它是如何工作的(代码中的注释是对发生的情况的解释):
array=[];//每次调用函数时,此数组将由一个条目填充
函数倍数F10(极限){
如果(limit==0){return array}//这是结束点或递归,将返回带有结果的数组
array.unshift(10*limit);//将把条目添加到数组的开头
返回倍数F10(limit-1);//递归
}
控制台日志(倍数10(10))
好吧,你用100
校准你的函数得到你期望的输出了吗?提示:你的循环出了点问题……顺便说一句,这与递归毫无关系。啊。明白了。代码学院告诉我要使我“等于”变量极限,我相信他们的话,尽管我的直觉告诉我要这么说“递归是一个反复调用同一个函数的函数,希望能在某一点停止..它不是递归。当递归意味着在这个函数中调用同一个函数时,你调用另一个函数i
次。谢谢!这太棒了!