// 如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。
// 如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。
// 目前想不到任何var比let好的点,可能js底层想要更好的支持let还需要更新吧。
let count = 0;
function allSort(a, start, end) {
if (start > end) {
// 做一些想要的操作
count++;
console.log(a);
} else {
for (let i = start; i <= end; i++) {
let temp = a[i];
a[i] = a[start];
a[start] = temp;
allSort(a, start + 1, end);
temp = a[i];
a[i] = a[start];
a[start] = temp;
}
}
}
let a = ['a', 'b', 'c'];
allSort(a, 0, a.length - 1);
console.log("总数量为:" + count);