ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
25 lines (21 loc) • 757 B
JavaScript
;
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;