我有兩個數組可以說矩陣組合
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