UNPKG

@antv/util

Version:

> AntV 底层依赖的工具库,不建议在自己业务中使用。

36 lines 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var is_array_1 = tslib_1.__importDefault(require("./is-array")); var is_function_1 = tslib_1.__importDefault(require("./is-function")); /** * @param {Array} arr The array to iterate over. * @param {Function} [fn] The iteratee invoked per element. * @return {*} Returns the maximum value. * @example * * var objects = [{ 'n': 1 }, { 'n': 2 }]; * * maxBy(objects, function(o) { return o.n; }); * // => { 'n': 2 } * * maxBy(objects, 'n'); * // => { 'n': 2 } */ exports.default = (function (arr, fn) { if (!(0, is_array_1.default)(arr)) { return undefined; } var maxItem; var max = -Infinity; for (var i = 0; i < arr.length; i++) { var item = arr[i]; var v = (0, is_function_1.default)(fn) ? fn(item) : item[fn]; if (v > max) { maxItem = item; max = v; } } return maxItem; }); //# sourceMappingURL=max-by.js.map