我有一个像这样的对象数组:
[{side: Buy, price: 100}, {side: Buy, price: 110}, {side: Sell, price: 200}, {side: Buy, price: 150} ]
现在我想为这个数组计算买卖双方的总和,以及每一方的平均价格总和。更具体地说,我希望我的输出是这样的: 购买 = 3 购买平均价格 = 120 卖出 = 1 卖出平均价格 = 200 我是 javascript 的新手并且有反应,所以我遇到了一些困难。谢谢!:)
最佳答案
可能最简单的方法是迭代数组并为每个边
保持滚动平均值。
var data = [{side: 'Buy', price: 100}, {side: 'Buy', price: 110}, {side: 'Sell', price: 200}, {side: 'Buy', price: 150} ];
var tally = { Buy: { count: 0, total: 0 }, Sell: { count: 0, total: 0 } };
data.forEach(item => {
tally[item.side].count = tally[item.side].count + 1;
tally[item.side].total = tally[item.side].total + item.price;
})
console.log("AvgPrice for Buy = " + (tally.Buy.total / tall.Buy.count) + " Sell = 1 AvgPrice for Sell = " + (tally.Sell.total / tall.Sell.count));
关于javascript - 通过javascript中的对象数组进行映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43181983/