当前位置:   article > 正文

获取数组中最大值和最小值的方法汇总_数组求最大值和最小值

数组求最大值和最小值

1、排序法:

思路:对数组进行排序,可以按照从小到大的顺序来排,排序之后的数组中第一个和最后一个就是我们想要获取的最小值和最大值。

排序使用数组中的sort方法。

  1. var arr = [14,78,25,1,82,51,22];
  2. arr.sort(function (a, b) {
  3. return a-b;
  4. });
  5. var min = arr[0];
  6. var max = arr[arr.length - 1];

2、Math函数中的max/min方法:

思路:使用Math函数中的max/min方法。

  1. //Math.max.apply(Function, Args) || Math.min.apply(Function, Args)
  2. //Function为要调用的方法,Args是参数列表。
  3. // 一维数组
  4. var numbers = [10, 500 , 0 , -15 ];
  5. console.log(Math.min.apply(null, numbers));
  6. console.log(Math.max.apply(null, numbers));
  7. // 多维数组
  8. var a = [1, 2, 3, [5, 6],[1, 4, 8]];
  9. var ta = a.join(",").split(","); //转化为一维数组
  10. console.log("Math.max最大值为:" + Math.max.apply(null, ta));
  11. console.log("Math.min最小值为:" + Math.min.apply(null, ta));

3、假设法:

思路:假设当前数组中的第一个值是最大值,然后拿这个最大值和后面的项逐一比较,如果后面的某一个值比假设的值还大,说明假设错了,我们把假设的值进行替换。最后得到的结果就是我们想要的。

  1. var arr = [51, 172, 81];
  2. var MaxHeight = arr[0],
  3. MinHeight = arr[0];
  4. arr.forEach(item => MaxHeight = item > MaxHeight ? item : MaxHeight);//最大值
  5. arr.forEach(item => MinHeight = MinHeight > item ? item : MinHeight);//最小值

4、使用eval函数。

  1. var numbers = [10, 500 , 0 , -15 ];
  2. var max = eval("Math.max(" + numbers + ")");
  3. console.log(max)//500
  4. var min = eval("Math.min(" + numbers + ")");
  5. console.log(min)//-15

5、使用es6中的扩展运算符:

  1. var numbers = [10, 500 , 0 , -15 ];
  2. console.log(Math.min(...numbers));//-15
  3. console.log(Math.max(...numbers));//500

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/598768
推荐阅读
相关标签
  

闽ICP备14008679号