diff options
| author | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:26:46 -0700 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2025-06-28 17:43:56 -0700 |
| commit | e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch) | |
| tree | 06284a538a6008eca75051399e47db4e5d50301c /node_modules/lodash/sumBy.js | |
initial commit: scaffolding
Diffstat (limited to 'node_modules/lodash/sumBy.js')
| -rw-r--r-- | node_modules/lodash/sumBy.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/node_modules/lodash/sumBy.js b/node_modules/lodash/sumBy.js new file mode 100644 index 0000000..00e36d0 --- /dev/null +++ b/node_modules/lodash/sumBy.js @@ -0,0 +1,33 @@ +var baseIteratee = require('./_baseIteratee'), + baseSum = require('./_baseSum'); + +/** + * 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). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Math + * @param {Array} array The array to iterate over. + * @param {Function} [iteratee=_.identity] The iteratee invoked per element. + * @returns {number} Returns the sum. + * @example + * + * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }]; + * + * _.sumBy(objects, function(o) { return o.n; }); + * // => 20 + * + * // The `_.property` iteratee shorthand. + * _.sumBy(objects, 'n'); + * // => 20 + */ +function sumBy(array, iteratee) { + return (array && array.length) + ? baseSum(array, baseIteratee(iteratee, 2)) + : 0; +} + +module.exports = sumBy; |
