javascript - 是否有任何预构建的方法可以在 JavaScript 中查找给定字符串的所有排列?

标签 javascript

我是 JavaScript 世界的新手。如标题所述,我想知道 JavaScript 中是否有任何预构建的方法来查找给定字符串的所有可能排列。

例如,给定输入:

the

期望的输出:

the
teh
eht
eth
het
hte

最佳答案

//string permutation

function permutation(start, string) {

    //base case
    if ( string.length == 1 ) {
        return [ start + string ];
    } else {

        var returnResult = [];
        for (var i=0; i < string.length; i++) {
            var result = permutation (string[i], string.substr(0, i) + string.substr(i+1));
            for (var j=0; j<result.length; j++) {
                returnResult.push(start + result[j]);
            }
        }

        return returnResult;
    }
}

permutation('','123') 将返回

[“123”、“132”、“213”、“231”、“312”、“321”]

关于javascript - 是否有任何预构建的方法可以在 JavaScript 中查找给定字符串的所有排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5232295/

相关文章:

php - 如何在数据库中插入正确的值

javascript - setInterval() 添加类然后删除类相同的时间

javascript - 适用于 IE8 的子像素舍入 JavaScript/jQuery 解决方案,适用于具有百分比宽度的表格单元格

javascript - 如何为后端和前端使用一个包管理器? ( yarn /NPM)

javascript - Ajax 调用成功,但错误 block 正在执行

javascript - 在 GULP 中按 Ctrl + S 后实时重新加载不起作用

javascript - React.js 终极版 : unwanted change of redux store on input handling

javascript - 如何使用 redux 更新数组

javascript - 更改 WooCommerce 中某些产品的 "Sold out"

javascript - Tooltipster 插件第一次尝试时无法工作