| 1234567891011121314151617181920212223242526272829303132333435 |
- 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;
|