对JavaScript中对象列表某属性值求和

背景:在统计的时候经常会遇到统计对象列表中某个属性的和,比如各种书籍的总价、所有医院的患者总数等。

-- By Brisk yu

假设统计所有医院的患者总数,一个医院对象的定义如下

{
    id: 0,
    hospital: 'AAA',
    total: 123
}

假设变量tableData是上述对象的列表,则可以通过reduce方法获取total属性的和:

let sum = tableData.reduce((prev, curr) => prev + parseInt(curr.total), 0)

可见reduce方法的参数由两部分组成,lambda表达式表示累加的具体操作(比如可以累加求和,也可以乘以2再求和等),0表示初始值。

注:对于这个例子来说,更好的做法是将总数计算的步骤放在后端,前端直接获取sum值进行展示即可。

posted @ 2022-06-21 19:05  Brisk  阅读(1867)  评论(0编辑  收藏  举报