javascript之数组的全部排列组合
javascript代码如下:
1 var arr = [1, 2, 3]; 2 // 临时变量,用于输出 3 var temp = []; 4 function n(arr) { 5 for (var i = 0; i < arr.length; i++) { 6 // 插入第i个值 7 temp.push(arr[i]); 8 // 复制数组 9 var copy = arr.slice(); 10 // 删除复制数组中的第i个值,用于递归 11 copy.splice(i, 1); 12 if(copy.length == 0) { 13 // 如果复制数组长度为0了,则打印变量 14 console.log(temp); 15 }else { 16 // 否则进行递归 17 n(copy); 18 } 19 // 递归完了之后删除最后一个元素,保证下一次插入的时候没有上一次的元素 20 temp.pop(); 21 } 22 } 23 n(arr);