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