var list = [];
var testArr = [1, 2, 3];
function fullArangement(arr, n) {
for (var i = n; i < arr.length; i++) {
transposition(arr, i, n);
n + 2 < arr.length ? fullArangement(arr, n + 1) : list.push(Object.assign([], arr));
//或JSON.parse(JSON.stringify(arr)) 从第n+1个开始全排列
transposition(arr, i, n);
}
}
function transposition(arr, i, n) {
i != n ? arr[i] = [arr[n], arr[n] = arr[i]][0] : "";
}
fullArangement(testArr, 0);

posted on
浙公网安备 33010602011771号