UNPKG

js-function-lib

Version:

JavaScript function library

38 lines (37 loc) 1.11 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var isString_1 = __importDefault(require("./isString")); var isFunction_1 = __importDefault(require("./isFunction")); var sum_1 = __importDefault(require("./sum")); /** * 计算 array 的平均值 * * @param {Array<any>} array 要迭代的数组 * @param {any} iteratee 调用每个元素的迭代函数 * @returns {Function} 返回平均值 * @version 1.1.9 * @example * * mean([1, 2, 3]); * // => 2 * const array = [{id: 1}, {id: 2}, {id: 3}]; * * mean(array, 'id'); * // => 2 * * mean(array, (v) => v.id); * // => 2 */ function mean(array, iteratee) { if (isString_1.default(iteratee)) { array = array.map(function (v) { return v[String(iteratee)]; }); } else if (isFunction_1.default(iteratee)) { array = array.map(iteratee); } return sum_1.default(array) / array.length; } exports.default = mean;