UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

35 lines (34 loc) 1.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.sumBy = void 0; const baseSum_1 = __importDefault(require("./.internal/baseSum")); const getIteratee_1 = __importDefault(require("./.internal/getIteratee")); /** * This method is like `sum` except that it accepts `iteratee` which is * invoked for each element in `array` to generate the value to be summed. * The iteratee is invoked with one argument: (value). * * @since 5.6.0 * @category Math * @param array The array to iterate over. * @param iteratee The iteratee invoked per element. * @returns Returns the sum. * @example * * ```js * const objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }] * * sumBy(objects, ({ n }) => n) * // => 20 * ``` */ function sumBy(array, iteratee) { return (array != null && array.length) ? (0, baseSum_1.default)(array, (0, getIteratee_1.default)(iteratee)) : 0; } exports.sumBy = sumBy; exports.default = sumBy;