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