我有一个如下所示的数组。
[ { sku: 'TEA-BLCK', price: '10', quantity: '1' },
{ sku: 'TEA-ELGY', price: '10', quantity: '1' },
{ sku: 'TEA-CHAI', price: '10', quantity: '1' },
{ sku: 'TEA-GREN', price: '10', quantity: '1' },
{ sku: 'TEA-ELGY', price: '10', quantity: '1' },
{ sku: 'TEA-MINT', price: '10', quantity: '1' } ]
我需要让它看起来像这样
[ { sku: 'TEA-BLCK', price: '10', quantity: '1' },
{ sku: 'TEA-ELGY', price: '10', quantity: '2' },
{ sku: 'TEA-CHAI', price: '10', quantity: '1' },
{ sku: 'TEA-GREN', price: '10', quantity: '1' },
{ sku: 'TEA-MINT', price: '10', quantity: '1' } ]
到目前为止,我已经reduce
使用underscore.js
.
var reduce = function(){
return _.reduce(line_items, function(quant, item) {
quant[item.sku] = (typeof(quant[item.sku]) !== "undefined") ? quant[item.sku] : 0 ;
quant[item.sku] = parseFloat(item.quantity) + quant[item.sku];
return quant;
}, {});
}
其中吐出以下内容。
{ 'TEA-BLCK': 1,
'TEA-ELGY': 1,
'TEA-CHAI': 2,
'TEA-GREN': 1,
'TEA-MINT': 1 }
这是减少的好工作吗?我怎样才能以我想要的方式得到它?