1/** 2 * The base implementation of `_.sum` and `_.sumBy` without support for 3 * iteratee shorthands. 4 * 5 * @private 6 * @param {Array} array The array to iterate over. 7 * @param {Function} iteratee The function invoked per iteration. 8 * @returns {number} Returns the sum. 9 */ 10function baseSum(array, iteratee) { 11 var result, 12 index = -1, 13 length = array.length; 14 15 while (++index < length) { 16 var current = iteratee(array[index]); 17 if (current !== undefined) { 18 result = result === undefined ? current : (result + current); 19 } 20 } 21 return result; 22} 23 24module.exports = baseSum; 25