【发布时间】:2017-02-08 03:58:05
【问题描述】:
正如标题所示,我试图递归地解决一个 JavaScript 问题。我的互联网编程课的一个练习是反转在函数中输入的任何字符串,我认为这是一个用递归解决这个问题的好机会。我的代码:
function reverseStr(str){
str = Array.from(str);
let fliparray = new Array(str.length).fill(0);
let char = str.slice(-1);
fliparray.push(char);
str.pop();
str.join("");
return reverseStr(str);
}
writeln(reverseStr("hello"))
【问题讨论】:
-
您的递归没有基本情况。
-
结束条件是什么?
-
你能评论一下每一行应该做什么,以及你的递归算法是如何工作的吗?也许演示应该对示例字符串采取的步骤。
-
仅供参考,您有
fliparray,它实际上并没有被使用,您有str.join(""),它没有引用它的结果,并且您以一种令人困惑的方式重用变量。执行Array.from(str)时创建一个新变量,这样看起来您就不会在字符串上调用无效方法。
标签: javascript recursion