diff options
Diffstat (limited to 'node_modules/lodash/maxBy.js')
-rw-r--r-- | node_modules/lodash/maxBy.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/lodash/maxBy.js b/node_modules/lodash/maxBy.js new file mode 100644 index 0000000..2eba9c0 --- /dev/null +++ b/node_modules/lodash/maxBy.js @@ -0,0 +1,34 @@ +var baseExtremum = require('./_baseExtremum'), + baseGt = require('./_baseGt'), + baseIteratee = require('./_baseIteratee'); + +/** + * This method is like `_.max` except that it accepts `iteratee` which is + * invoked for each element in `array` to generate the criterion by which + * the value is ranked. 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 {*} Returns the maximum value. + * @example + * + * var objects = [{ 'n': 1 }, { 'n': 2 }]; + * + * _.maxBy(objects, function(o) { return o.n; }); + * // => { 'n': 2 } + * + * // The `_.property` iteratee shorthand. + * _.maxBy(objects, 'n'); + * // => { 'n': 2 } + */ +function maxBy(array, iteratee) { + return (array && array.length) + ? baseExtremum(array, baseIteratee(iteratee, 2), baseGt) + : undefined; +} + +module.exports = maxBy; |