2013-01-09 3 views
2

У меня есть следующие массивы:Как найти общие комбинации следующих чисел?

[1,2,3] 
[I,II] 
[A,B,C] 

Я хочу знать, сколько комбинаций возможны. В примере:

[1,I], [1,A], [2,I], [2,A], [3,I], [3,A], ... 

Существует нечто, называемое декартово произведение в математике, но я не знаю, как это осуществить.

+2

Почему вниз голосование без комментариев? –

+2

Вы хотите знать, сколько или вы хотите увидеть комбинации? –

+0

Я хочу знать, сколько комбинаций возможно. Я задал такой вопрос в первый раз, потому что я действительно не уверен, если есть встроенная функция Javascript. –

ответ

1

Вы можете рассчитать количество возможных комбинаций элементов в массивах, используя multiplicatation.

Если у вас есть 2 массива array1 и array2, число возможных комбинаций будет array1.length * array2.length.

var array1 = ['1','2', '3']; 
var array2 = ['I', 'II']; 

var posibleCombinations = (array1.length * array2.length); 

В результате приведенном выше примере 6.

С тремя массивами вы бы рассчитать возможные комбинации между каждым массивом, а затем добавить сумму каждого.

var array1 = ['1','2', '3']; 
var array2 = ['I', 'II']; 
var array3 = ['A','B','C']; 

var posibleCombinations = (array1.length * array2.length) + (array1.length * array3.length) + (array2.length * array3.length); 

В результате приведенном выше примере 21.

0
var array1 = [1,2,3], 
    array2 = ['I','II'], 
    array3 = ['A','B','C']; 

var count = array1.length + array2.length + array3.length; 
    count = count * (count -1); 
console.log(count); // 56 

Формула:

n = total * (total -1) // -1 assuming that the first can't be equal to the second 
+0

@Vury Да, если это не то, что вы хотите, вы должны добавить некоторые детали к своему вопросу. –

+0

@Vury И это в обоих направлениях. Итак, подсчитайте '[2,1]' и '[1,2]'. –

Смежные вопросы