UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

37 lines (36 loc) 1.26 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.meanBy = void 0; const baseSum_1 = __importDefault(require("./.internal/baseSum")); const getIteratee_1 = __importDefault(require("./.internal/getIteratee")); /** * Used as references for various `Number` constants. * @ignore */ const NAN = Number.NaN; /** * This method is like `mean` except that it accepts `iteratee` which is * invoked for each element in `array` to generate the value to be averaged. * The iteratee is invoked with one argument: (value). * * @since 5.11.0 * @category Math * @param {Array} array The array to iterate over. * @param {Function} iteratee The iteratee invoked per element. * @returns {number} Returns the mean. * @example * * const objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }] * * meanBy(objects, ({ n }) => n) * // => 5 */ function meanBy(array, iteratee) { const length = array == null ? 0 : array.length; return length ? ((0, baseSum_1.default)(array, (0, getIteratee_1.default)(iteratee, 2)) / length) : NAN; } exports.meanBy = meanBy; exports.default = meanBy;