0

私は以下を持っています

 var cart= [{ item: "A", price: 2 },
             { item: "B", price: 3 },
             { item: "A", price: 2 },
             { item: "C", price: 5 },
             { item: "C", price: 5 },
             { item: "A", price: 2 }];

今、私は次のような出力が必要でした。

Item   Price   Qty   Total
A      2       3     6    
B      3       1     3
C      5       2     10
4

3 に答える 3

1

与えられたitem:

var sub = myCollection.where({item: item}),
    length = sub.length,
    total = _.reduce(sub, function(memo, num){ return memo + num; }, 0);

すべてのアイテムに対して実行したいが、無制限の数の値を取ることができる場合は、最初にコレクションを並べ替えてから、見つかった値をループすることをお勧めします。

于 2013-07-01T10:11:20.227 に答える
0

私は以下を使用して行いました

var groups = _.groupBy(cartCollection, function(model){
                return model.get('item');
            });
            _.each(groups,function(group){
                console.log('Item: ' + group[0].get("item") + ', Price: ' + group[0].get("price") + ', Qty: ' + group.length + ', Total: ' + (group[0].get("price") * group.length));
            });

出力は次のようになります

ここに画像の説明を入力

于 2013-07-01T10:21:09.407 に答える