| /** |
| * The base implementation of `_.sum` and `_.sumBy` without support for |
| * iteratee shorthands. |
| * |
| * @private |
| * @param {Array} array The array to iterate over. |
| * @param {Function} iteratee The function invoked per iteration. |
| * @returns {number} Returns the sum. |
| */ |
| function baseSum(array, iteratee) { |
| var result, |
| index = -1, |
| length = array.length; |
| |
| while (++index < length) { |
| var current = iteratee(array[index]); |
| if (current !== undefined) { |
| result = result === undefined ? current : (result + current); |
| } |
| } |
| return result; |
| } |
| |
| module.exports = baseSum; |