@newdash/newdash
Version:
javascript/typescript utility library
35 lines (34 loc) • 1.12 kB
JavaScript
;
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;