UNPKG

928 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var is_array_1 = require("./is-array");
4var is_function_1 = require("./is-function");
5/**
6 * @param {Array} arr The array to iterate over.
7 * @param {Function} [fn] The iteratee invoked per element.
8 * @return {*} Returns the minimum value.
9 * @example
10 *
11 * var objects = [{ 'n': 1 }, { 'n': 2 }];
12 *
13 * minBy(objects, function(o) { return o.n; });
14 * // => { 'n': 1 }
15 *
16 * minBy(objects, 'n');
17 * // => { 'n': 1 }
18 */
19exports.default = (function (arr, fn) {
20 if (!is_array_1.default(arr)) {
21 return undefined;
22 }
23 var minItem;
24 var min = Infinity;
25 for (var i = 0; i < arr.length; i++) {
26 var item = arr[i];
27 var v = is_function_1.default(fn) ? fn(item) : item[fn];
28 if (v < min) {
29 minItem = item;
30 min = v;
31 }
32 }
33 return minItem;
34});
35//# sourceMappingURL=min-by.js.map
\No newline at end of file