私は次のような配列を持っています。
[ { 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 }
これは削減するのに良い仕事ですか?どうすれば思い通りにできますか?