用reduce()函数实现此例程的正确方法是什么?

问题描述 投票:0回答:1

我正在尝试将商品交付数组中的所有总计值求和成TotalOfMaterial属性,如下所示:

let grandTotalsFooter = {};
grandTotalsFooter.TotalOfMaterial = commodityDeliveries.reduce(x => x.Total);

我知道正确的reduce()实现并不像我上面那样简单,而只是提供了我正在尝试做的一般意图。用reduce()函数执行此操作的正确和最简单的方法是什么?另外,是否有流行的第三方js库通过类似于以下.NET框架的sum()函数来简化此类例程?:

let grandTotalsFooter = {};
grandTotalsFooter.TotalOfMaterial = commodityDeliveries.sum(x => x.Total);

。NET sum()函数更加直接直观。我认为JS标准有时会引入这样的sum()函数?

javascript
1个回答
0
投票

传递给reduce的函数必须带有两个(或多个)参数:一个累加器和当前项目。因此,您的作业将变为:

grandTotalsFooter.TotalOfMaterial = commodityDeliveries.reduce((acc, item) => acc+item.Total);

See the MDN for more details on Array.prototype.reduce()

© www.soinside.com 2019 - 2024. All rights reserved.