calcSum
计算数组总和
引入版本
0.45.0
Demo
ts
import { calcSum } from '@wyfex/iutils'
// 普通数字数组
console.log(calcSum([4, 2, 8, 6])) // 20
console.log(calcSum([-1, 5, -2, 0])) // 2
// 字符串数字数组
console.log(calcSum(['1', '6', '8', '9'])) // 24
// getter回调
console.log(
calcSum(
[{ n: null as unknown as number }, { n: 2 }, { n: 8 }, { n: 6 }],
o => o.n
)
) // 16
// 字段名字符串
console.log(
calcSum([{ n: undefined }, { n: '2' }, { n: '8' }, { n: '6' }], 'n')
) // 16
// 混合字符串、null、undefined、NaN、空字符串
console.log(calcSum(['10', null, undefined, NaN, 'abc', '20'])) // 30
// 非数组返回0
console.log(calcSum(null as unknown as [])) // 0
// 空数组返回0
console.log(calcSum([])) // 0
// 浮点数
console.log(calcSum([0.1, 0.2])) // 0.3
console.log(calcSum([0.05, 0.07])) // 0.12
console.log(calcSum([0.1, 0.02, 0.003])) // 0.123