У меня есть два массива позволяет сказатьМатричные комбинации двух массивов в JavaScript
var termRateOptionsArr = [{
"term": 48,
"rate": 2.99,
"residualPercent": 0
}, {
"term": 60,
"rate": 1.99,
"residualPercent": 0
}, {
"term": 72,
"rate": 0.99,
"residualPercent": 0
}];
var cashDownOptionsArr = [{
"cashdown": "2000"
}, {
"cashdown": "4000"
}, {
"cashdown": "6000"
}];
Я хочу объединить эти два массива в комбинации матрицы, используя следующий код:
var cartesian = function() {
var combos = _.reduce(arguments, function(a, b) {
return _.flatten(_.map(a, function(x) {
return _.map(b, function(y) {
return x.concat([y]);
});
}), true);
}, [ [] ]);
return _.flatten(_.map(combos, function(item) {
return _.extend(item[0], item[1]);
}));
};
console.table(cartesian(termRateOptionsArr,cashDownOptionsArr));
У меня возникли проблемы с объединением. Я получаю только последнее значение массива элементов вместо каждого элемента массива. Я думаю, что это имеет отношение к какому-то вопросу закрытия, но не уверен ... Любая помощь приветствуется ..
Зачем вам нужны два измерения? Разве это не дублирует ту же информацию, в данном случае, варианты с наличными деньгами? Это объясняет недостаток пространства памяти. В javascript двумерный массив - это не что иное, как массив массивов. – Yogesh
Как вы их совмещаете? Пожалуйста, разместите свой код, а не только данные. – Bergi
@Bergi см. Ссылку выше для plnkr ... – Ducati007