function maxWith(array, iteratee, defaultValue) {
  return _.max(_.map(array, iteratee)) || defaultValue;
}
Computes the maximum value of `array` by value from path. If `array` is empty or falsey, defaultValue is returned.

@static
@memberOf _
@category Math
@param {Array} array The array to iterate over.
@param {Array|Function|Object|string} [iteratee=_.identity]
@param {number} [defaultValue=undefined]
@returns {number} Returns the maximum value.