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);

 

posted @ 2017-09-21 14:17  极·简  Views(4176)  Comments(2Edit  收藏  举报