31 lines
669 B
JavaScript
31 lines
669 B
JavaScript
![]() |
var filter = require('../filter');
|
|||
|
var isArray = require('../type/is-array');
|
|||
|
|
|||
|
var getRange = function getRange(values) {
|
|||
|
// 存在 NaN 时,min,max 判定会出问题
|
|||
|
values = filter(values, function (v) {
|
|||
|
return !isNaN(v);
|
|||
|
});
|
|||
|
if (!values.length) {
|
|||
|
// 如果没有数值则直接返回0
|
|||
|
return {
|
|||
|
min: 0,
|
|||
|
max: 0
|
|||
|
};
|
|||
|
}
|
|||
|
if (isArray(values[0])) {
|
|||
|
var tmp = [];
|
|||
|
for (var i = 0; i < values.length; i++) {
|
|||
|
tmp = tmp.concat(values[i]);
|
|||
|
}
|
|||
|
values = tmp;
|
|||
|
}
|
|||
|
var max = Math.max.apply(null, values);
|
|||
|
var min = Math.min.apply(null, values);
|
|||
|
return {
|
|||
|
min: min,
|
|||
|
max: max
|
|||
|
};
|
|||
|
};
|
|||
|
|
|||
|
module.exports = getRange;
|