当前位置:   article > 正文

求出数组最大值的方法

数组最大值

求出数组最大值的几种方法

1、排序法

使用数组的sort()方法对数组进行排序,得到一个从小到大的有序数组,数组的第一个和最后一个元素就是我们要找的最小值和最大值:

  1. var arr = [3, 5, 1, 4, 2]
  2. arr.sort(function(a, b) {
  3. return a - b;
  4. })
  5. console.log(arr); // [1, 2, 3, 4, 5]
  6. console.log(Math.max(...arr)); // 5

2、使用ES6的扩展符

Math.max( ...arr ) 获取数组中的最大值

  1. var arr = [3, 5, 1, 4, 2]
  2. console.log(Math.max(...arr)) // 5

3、假设法

  1. var arr = [3, 5, 1, 4, 2];
  2. var max = arr[0];
  3. for(var i = 1; i < arr.length; i++) {
  4. arr[i] > max ? max = arr[i] : null;
  5. }
  6. console.log(max); // 5

4、使用 Math.max.apply( null , arr )

Math.max() 虽然能取到最小值,但是不支持数组,所以可以用 Math.max.apply( null , arr )来获取数组中的最大值。

  1. var arr = [3, 5, 1, 4, 2];
  2. var max = Math.max.apply(null, arr);
  3. var min = Math.min.apply(null, arr);
  4. console.log(max, min) // 5,1

5、冒泡排序

  1. var arr = [3, 5, 1, 4, 2];
  2. for (var i = 0; i < arr.length - 1; i++) {
  3. var isChange = true;
  4. for (var j = 0; j < arr.length - 1 - i; j++) {
  5. if (arr[j] > arr[j + 1]) {
  6. isChange = false;
  7. var temp = arr[j];
  8. arr[j] = arr[j+1];
  9. arr[j+1] = temp;
  10. }
  11. }
  12. if (isChange) {
  13. break;
  14. }
  15. }
  16. console.log(Math.max(...arr)) // 5

 

 

 

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

闽ICP备14008679号