Создать массив со всеми уникальными комбинациями
Можно't выяснить, как создать массив со всеми совпадениями. Я полагаю, мне нужна рекурсивная функция для этого.
Мне нравится получать все значения из JSON ниже и создавать массив со всеми комбинациями значений. Может быть больше или меньше моделей (Name4) и больше или меньше значений. Любая помощь?
var models = [
{
name: 'Name1',
values: [
'Title1Value1',
'Title1Value2',
'Title1Value3'
]
},
{
name: 'Name2',
values: [
'Title2Value1',
'Title2Value2'
]
},
{
name: 'Name3',
values: [
'Title3Value1',
'Title3Value2'
]
}
];
// Output array
var matches = [
[ 'Title1Value1', 'Title2Value1', 'Title3Value1' ],
[ 'Title1Value1', 'Title2Value1', 'Title3Value2' ],
[ 'Title1Value1', 'Title2Value2', 'Title3Value1' ],
[ 'Title1Value1', 'Title2Value2', 'Title3Value2' ],
[ 'Title2Value2', 'Title2Value1', 'Title3Value1' ],
[ 'Title1Value2', 'Title2Value1', 'Title3Value2' ],
[ 'Title1Value2', 'Title2Value2', 'Title3Value1' ],
[ 'Title1Value2', 'Title2Value2', 'Title3Value2' ],
[ 'Title1Value3', 'Title2Value1', 'Title3Value1' ],
[ 'Title1Value3', 'Title2Value1', 'Title3Value2' ],
[ 'Title1Value3', 'Title2Value2', 'Title3Value1' ],
[ 'Title1Value3', 'Title2Value2', 'Title3Value2' ]
];