var arr = [1, 2, 3];
// 临时变量,用于输出
var tmp = [];
function arrayList(arr) {
for (var i = 0; i < arr.length; i++) {
// 插入第i个值
tmp.push(arr[i]);
// 复制数组
var copy = arr.slice();
// 删除复制数组中的第i个值,用于递归
copy.splice(i, 1);
if(copy.length == 0) {
// 如果复制数组长度为0了,则打印变量
console.log(tmp);
}else {
// 否则进行递归
arrayList(copy);
}
// 递归完了之后删除最后一个元素,保证下一次插入的时候没有上一次的元素
tmp.pop();
}
}
arrayList(arr);
JavaScript递归求数组的所有排列组合
最新推荐文章于 2023-03-14 18:00:50 发布