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)
以上方法已经应用于大型项目中,目前未发现异常,可放心使用