1234567891011121314151617181920212223242526 |
- var isFunction = require('./isFunction')
- var eqNull = require('./eqNull')
- var get = require('./get')
- var arrayEach = require('./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
|