-2
我確定這已經回答了某個地方,但我找不到對於純JS的這個特定問題的答案。
我需要這樣的功能:JS - 通過給定數組創建可能的陣列循環
function testAllPossibilities(array, callback) {
//example array = [Obj1,Obj2];
//allPossibilites = [[Obj1],[Obj2],[Obj1,Obj2],[Obj2,Obj1]]
for (var i = 0; i < allPossibilites.length; i++) {
callback(allPossibilites[i]);
}
}
我不知道如何產生allPossibilities
變量,我還不夠了解所有這些數學術語如「置換」等精確定義這個問題......這可能是我迄今爲止找不到答案的原因。
一些更多的單詞到allPossibilities
:
應該有用於每個不同的順序的可能性,長度應爲1和陣列的長度之間,但沒有相同元件的重複。
所以,如果你有一個'[1,2,3]'的數組,你需要什麼組合? –
'[1],[2],[3],[1,2],[2,1],[1,3],[3,1],[2,3],[3,2], [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]' –
讓我明白了這一點 - 你想排列組合,但你不想學習排列組合? – 2017-05-14 13:01:17