var  amountArr = [{amount:12.35},{amount:20.367},{amount:15.4263}] //示例数据
var amountLenArr = amountArr.map(item => String(item.amount).split('.')[1] ? String(item.amount).split('.')[1].length : 0)  //取每个金额的小数位数的长度,没有小数位数就返回0
 const maxLen = Math.max(...amountLenArr) // 拿到小数位数的最大值
 const result = amountArr.reduce((sum, item) => {  //求和
   return sum + (parseFloat(item.amount) * Math.pow(10, maxLen))
 }, 0)

以上方法已经应用于大型项目中,目前未发现异常,可放心使用

Logo

前往低代码交流专区

更多推荐