js 数组金额相加

arr1: [
  { money : 100, id:6},
  { money : 200, id:9},
  { money : 200.02, id:9}
]

期望得到:
把arr1数组的金额money字段相加
算出金额 = 500.02

阅读 4.3k
2 个回答
arr1.reduce((money, item) => money + Number(item.money), 0)

因为你这里有浮点数,如果数组还有其他浮点数的话,直接相加会有问题, 看下这个问答 https://segmentfault.com/q/10... 里面是浮点数的计算,解决的是js的0.1+0.2!=0.3的问题

如果你只是整数+浮点数的话,那直接相加就行了。

let total = 0;
for (const {money} of arr1) {
    total = accAdd(total + money) ;   accAdd 是个浮点数的加法,从上面链接的库里面封装一个,或者自己写一个其他的也行
}

console.log(total)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题