我有两个数组可以说矩阵组合
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