我想将我在JavaScript数组中的所有项目添加到项目数量中。我有一组像这样的对象:
var products = [ {price: 1, quantity: 2},
{price: 4, quantity: 1},
{price: 2, quantity: 1} ]
现在我正在使用
var sum = 0;
products.forEach(function(item){
sum += item.price * item.quantity;
})
return sum;
哪个有效,但我只是想知道我是否可以使用.reduce()重构它。到目前为止,我没有任何运气,因为我已经尝试将其映射出来并减少它。是否可以通过reduce来实现这一目标?
答案 0 :(得分:7)
当然,这是reduce
的最标准用例:
var sum = products.reduce((sum, p) => sum + p.price*p.quantity, 0);