NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/xe-utils/methods/number/helperCreateMinMax.js
2023-09-14 14:47:11 +08:00

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