number/sum.jsjavascript
/**
* 计算有限数字数组的总和。
* @function sum
* @memberof module:number
* @param {number[]} values 数字数组
* @returns {number} 数字总和,空数组返回 0
* @throws {TypeError} 参数不是有限数字数组时抛出
*/
function sum(values) {
if (!Array.isArray(values) || values.some(value => !Number.isFinite(value))) throw new TypeError('values must be an array of finite numbers')
return values.reduce((total, value) => total + value, 0)
}
export default sum