@antv/util
Version:
> AntV 底层依赖的工具库,不建议在自己业务中使用。
36 lines (32 loc) • 782 B
text/typescript
import isArray from './is-array';
import { default as getMax } from './max';
import { default as getMin } from './min';
export interface RangeType {
readonly min: number;
readonly max: number;
}
const getRange = function (values: number[]): RangeType {
// 存在 NaN 时,min,max 判定会出问题
let filterValues = values.filter((v) => !isNaN(v));
if (!filterValues.length) {
// 如果没有数值则直接返回0
return {
min: 0,
max: 0,
};
}
if (isArray(values[0])) {
let tmp = [];
for (let i = 0; i < values.length; i++) {
tmp = tmp.concat(values[i]);
}
filterValues = tmp;
}
const max = getMax(filterValues);
const min = getMin(filterValues);
return {
min,
max,
};
};
export default getRange;