javascript - 列表排列

标签 javascript string permutation combinations

我正在尝试列出所有三个字母的排列,这是我的代码 -

  window.permute = function(){
    var alphabet = "abcdefghijklmnopqrstuvwxyz";
    var searchTerm ="aaa";
    var position = 2; 
    changeString(searchTerm, position); 
}

window.changeString = function(searchTerm, position){
    if (position <0){
        alert(newString);

    return; 
    }
    var alphabet = "abcdefghijklmnopqrstuvwxyz"
    for (j=0; j < 26;j++){
        var newString = searchTerm.substr(0, position) + alphabet[j] + searchTerm.substr(position+1);
        var newPosition = position -1; 
        changeString(newString,newPosition);
    }
    return;
}

它不起作用,我不确定为什么 - 谁能帮忙?

最佳答案

var permutate = (function() {
    var results = [];    
    function doPermute(input, output, used, size, level) {        
        if (size == level) {
            var word = output.join('');
            results.push(word);
            return;
        } 
        level++;
        for (var i = 0; i < input.length; i++) {
            if (used[i]) {
                continue;
            }            
            used[i] = true;
            output.push(input[i]);
            doPermute(input, output, used, size, level);
            used[i] = false;
            output.pop();
        }
    }

    return {
        getPermutations: function(input, size) {
            var chars = input.split('');
            var output = [];
            var used = new Array(chars.length);      
            doPermute(chars, output, used, size, 0);        
            return results;    
        }
    }
})();

欲了解更多信息,请访问 http://jinwolf.tumblr.com/post/26476479113/draw-something-cheat 有关工作示例,请查看此 jsfiddle http://jsfiddle.net/jinwolf/Ek4N5/31/

关于javascript - 列表排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234319/

相关文章:

javascript - 未捕获的类型错误 : canvas. toDataUrl 不是函数

java - 我编写了一个在循环中随机生成 0 和 1 的程序。如何使程序在连续生成十个 0 时停止循环?

python - 获取有向图的所有边对.networkx

python - 我不明白python中的这种递归方法来生成排列

python - 如何递归组合(链)列表?

javascript - Gulp 3 - 使 js 文件比普通文件大 3 倍

javascript - 访问 firebase firestore v9 中的子集合

javascript - 错误 : Templates should only be responsible for mapping the state to the UI. 避免在模板中放置有副作用的标签,例如 &lt;script&gt;

python-3.x - python : Extract dimension data from dataframe string column and create columns with values for each of them

java - 从 switch 语句返回 null 的字符串语句