number/average.jsjavascript
import sum from './sum'

/**
 * 计算有限数字数组的算术平均值。
 * @function average
 * @memberof module:number
 * @param {number[]} values 数字数组
 * @returns {number|undefined} 平均值;空数组返回 undefined
 * @throws {TypeError} 参数不是有限数字数组时抛出
 */
function average(values) {
  if (!Array.isArray(values)) throw new TypeError('values must be an array')
  return values.length === 0 ? undefined : sum(values) / values.length
}

export default average