javascript中的递归字符串反转功能?

Geu*_*uis 10 javascript recursion

我是一位非常有经验的前端工程师,背景很弱.我试图理解递归的概念.我能找到的大多数例子和声称的解释都没有以我容易理解的方式解释它.

我为自己设定了一个编写一个函数的任务,该函数将递归地反转一个字符串.我知道必须有一个基本条件(即找到解决方案),但我无法弄清楚如何实际编写这样的东西,并可以使用一个演示来学习.

有人可以提供样本功能吗?

Tom*_*Tom 29

就像是:

function reverse (str) {
    if (str === "") {
        return "";
    } else {
        return reverse(str.substr(1)) + str.charAt(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以函数是递归的,因为它调用自己来完成工作.

  • `slice()` 比 `substr()` 更可取:它在 ECMAScript 规范中是标准化的,并且可以跨浏览器统一工作。 (2认同)