27 lines
713 B
Java
27 lines
713 B
Java
var isFunction = require('../base/isFunction')
|
|
var eqNull = require('../base/eqNull')
|
|
var get = require('../base/get')
|
|
|
|
var arrayEach = require('../array/arrayEach')
|
|
|
|
function helperCreateMinMax (handle) {
|
|
return function (arr, iterate) {
|
|
if (arr && arr.length) {
|
|
var rest, itemIndex
|
|
arrayEach(arr, function (itemVal, index) {
|
|
if (iterate) {
|
|
itemVal = isFunction(iterate) ? iterate(itemVal, index, arr) : get(itemVal, iterate)
|
|
}
|
|
if (!eqNull(itemVal) && (eqNull(rest) || handle(rest, itemVal))) {
|
|
itemIndex = index
|
|
rest = itemVal
|
|
}
|
|
})
|
|
return arr[itemIndex]
|
|
}
|
|
return rest
|
|
}
|
|
}
|
|
|
|
module.exports = helperCreateMinMax
|