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;
  }
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.