UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

25 lines (21 loc) 757 B
'use strict'; var isArray = require('../isArray.js'); var isSymbol = require('../isSymbol.js'); var createIteratee = require('./createIteratee.js'); var native = require('./native.js'); function createExtremum(array, comparator, iteratee) { if (!isArray(array)) { return; } var result, computed; var internalIteratee = createIteratee(iteratee); array.forEach(function (value, index) { var current = internalIteratee(value, index, array); if (current != null && (computed === native.nativeUndefined ? current === current && !isSymbol(current) : comparator(current, computed))) { computed = current; result = value; } }); return result; } module.exports = createExtremum;