get-range.js 669 B

12345678910111213141516171819202122232425262728293031
  1. var filter = require('../filter');
  2. var isArray = require('../type/is-array');
  3. var getRange = function getRange(values) {
  4. // 存在 NaN 时,min,max 判定会出问题
  5. values = filter(values, function (v) {
  6. return !isNaN(v);
  7. });
  8. if (!values.length) {
  9. // 如果没有数值则直接返回0
  10. return {
  11. min: 0,
  12. max: 0
  13. };
  14. }
  15. if (isArray(values[0])) {
  16. var tmp = [];
  17. for (var i = 0; i < values.length; i++) {
  18. tmp = tmp.concat(values[i]);
  19. }
  20. values = tmp;
  21. }
  22. var max = Math.max.apply(null, values);
  23. var min = Math.min.apply(null, values);
  24. return {
  25. min: min,
  26. max: max
  27. };
  28. };
  29. module.exports = getRange;