开发函数以查找一系列数字的所有排列

时间:2017-01-14 23:57:57

标签: javascript

我需要编写一个JavaScript函数,它向我展示作为参数传递的数字的数字的所有排列,但不知道如何去做。

例如,给定1020,它将产生

1020,0120,0210,0102。

1 个答案:

答案 0 :(得分:3)

这是一个有效的解决方案。希望它有所帮助!

var result = [];
var newArray = [];

    function permute(someArray) {
        var i, ch;
        for (i = 0; i < someArray.length; i++) {
            ch = someArray.splice(i, 1)[0];
            newArray.push(ch);
            if (someArray.length == 0) {
                result.push(newArray.slice());
            }
            permute(someArray);
            someArray.splice(i, 0, ch);
            newArray.pop();
        }

        return result;
    };

    var n =  1901;
    var arr = (""+n).split("");

    var myResult = permute(arr);

    for(var i in myResult){
        console.log(myResult[i].join(""));
    }