addNumARR(arr){
if(arr.filter((a)=> a%1!==0).length>0){
var lengthArr=[]
arr.filter((a)=> a%1!==0).map((b)=>{
lengthArr.push(b.toString().split(".")[1].length)
})
let m=Math.pow(10, Math.max.apply(null,lengthArr))
var sun=0
arr.map((a)=>{
sun += (a*m)
})
return sun / m
}
if(arr.filter((a)=> a%1!==0).length==0){
var sun=0
arr.map((a)=>{sun +=Number(a)})
return sun
}
},
上面这个方法可以将有小数点与没有小数点的数据分开
只要数组里面有小数点,就会进行 sun / m 的计算
这个计算的方法是把最多位小数点的数取为一个基准,然后再用他来对所有的数进行运算
可以在Math.pow那边知道,数组的数都同样乘上m 代表10的后面有多个0
最后再把它除回来
我们看看原来
后来
哈!!一劳永逸了!!