我正在尝试将商品交付数组中的所有总计值求和成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()函数?
传递给reduce
的函数必须带有两个(或多个)参数:一个累加器和当前项目。因此,您的作业将变为:
grandTotalsFooter.TotalOfMaterial = commodityDeliveries.reduce((acc, item) => acc+item.Total);