计算数组中,每个元素指定key值的总和
/**
* 计算数组中,每个元素指定key值的总和
*
* @example
* sumBy([{ n: 1 }, { n: 5 }], 'n')
* // returns 6
*
*/
const isFunction = (val) => typeof val === 'function';
const sumBy = (arr, fn) => {
return arr.map(isFunction(fn) ? fn : (val) => val[fn]).reduce((acc, val) => acc + (val ?? 0), 0)
}