Uzyskaj wszystkie kombinacje N elementów wielowymiarowej tablicy

Próbuję napisać algorytm, aby uzyskać wszystkie możliwe kombinacje elementów N wewnątrz wielowymiarowej tablicy elementów M.

Coś jak:

function getCombinations(arr, n){
  ...
}

var arr = [ ["A"],["B","C"],["D","E"]];
var n = 2;

getCombinations(arr,n);

Powinno to spowodować:

[
["A","B"],["A","C"],["A","D"],["A","E"],
["B","D"],["B","E"],
["C","D"],["C","E"]
]

Liczba elementów wewnątrz tablicy może się różnić, jedyną ustawioną rzeczą jest liczba elementów kombinacji.

Kolejność nie ma znaczenia, ale nie możesz powtórzyć["A","B"] == ["B","A"], więc drugi nie jest brany pod uwagę.

Jakaś pomoc?

questionAnswers(2)

yourAnswerToTheQuestion