我有不同的陣列,全部用數字,而是用不同數量的元素:的JavaScript - 生成一個數組的所有組合,考慮到爲了
var ar1 = [2, 5];
var ar2 = [1, 2, 3];
我需要得到每個陣列中的所有組合,但考慮元素順序。輸出元素的長度應始終與輸入數組相同。
該結果應該是數組的數組,像這樣:
爲AR1:
[2, 5]
[5, 2]
爲AR2:
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 1, 2]
[3, 2, 1]
我不想一個笛卡爾乘積,每個數組應該自己處理。
到目前爲止,我發現的所有解決方案都只創建與順序無關的數組,因此ar1的結果只有一個數組而不是兩個。
解決方案應該適用於輸入數組中的任意數量的元素。我們可以假設輸入數組中沒有重複的值。
http://www.geeksforgeeks.org/print-all-possible-combinations-of-r-elements-in-a-given-array-of-size-n/希望這能解決你的問題。 –