在Java中,我使用流来计算订单清单的总和,如下所示:
orders.stream().mapToInt(Order::getQuantity).sum()
我想知道在遍历Order实例数组时在JavaScript中是否有同样优雅的方法可以做到这一点。本质上是这样的数组:
[{quantity: 10}, {quantity: 20}, {quantity: 15}, ...]
到目前为止,我有这样的事情,但我想知道它是否会更短:
orders.map((order)=>order.quantity).reduce((a, b)=> a+b,0);
最佳答案
您无需使用map
即可:
orders.reduce((a, b) => a + b.quantity, 0));
console.log([{
quantity: 10
}, {
quantity: 20
}, {
quantity: 15
}].reduce((a, b) => a + b.quantity, 0));