UNPKG

js-function-lib

Version:

JavaScript function library

37 lines (36 loc) 1.08 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")); /** * 计算 array 中值的总和 * * @param {Array<any>} array 要迭代的数组 * @param {*} [iteratee] 调用每个元素的迭代函数 * @returns {number} 返回总和 * @version 1.1.9 * * sum([1, 2, 3]); * // => 6 * * const array = [{id: 1}, {id: 2}, {id: 3}]; * * sum(array, 'id'); * // => 6 * * sum(array, (v) => v.id); * // => 6 */ function sum(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 array.reduce(function (total, value) { return total + value; }, 0); } exports.default = sum;