我需要编写一个JavaScript函数,它向我展示作为参数传递的数字的数字的所有排列,但不知道如何去做。
例如,给定1020,它将产生
1020,0120,0210,0102。
答案 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(""));
}