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