js-function-lib
Version:
JavaScript function library
38 lines (37 loc) • 1.11 kB
JavaScript
;
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;