Javascript 有没有办法在对象数组上使用.reduce()?

Javascript 有没有办法在对象数组上使用.reduce()?,javascript,arrays,Javascript,Arrays,我想将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 *

我想将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可以做到这一点吗?

当然,这是最标准的使用案例:


向我们展示您使用
reduce
的尝试,我们将帮助您使其正常工作。
var sum = products.reduce((sum, p) => sum + p.price*p.quantity, 0);