javaScript获取数组最大值和最小值

javaScript获取数组最大值和最小值

获取数组的最大值和最小值是常用需求,实现的方式也多种多样,下面介绍几个获取数组最大值最小值的方法。

1.遍历法

例如求最大值,假设数组第一个就是最大值,然后遍历数组,拿这个最大值和后面的元素逐一比较,把假设的值进行替换。最后得到的结果就是我们想要的。

// 获取最大值:
var arr = [2,23,12,124,82];
var max = arr[0];

for(var i = 1; i < arr.length; i++) {
   var cur = arr[i];
   cur > max ? max = cur : null
}

console.log(max); // 124

最小值同理。

// 获取最小值:
var arr = [2,23,12,124,82];
var min = arr[0];

for(var i = 1; i < arr.length; i++) {
  var cur = arr[i];
  cur < min ? min = cur : null
}
console.log(min)  // 2

2.排序法

把数组升序排序,第一项就是最小值,最后一项就是最大值;把数组降序排序,第一项就是最大值,最后一项就是最小值。

var arr = [2,23,12,124,82];

arr.sort(function (a, b) {
  return a-b; 
}); // 升序排序 return b-a 为降序排序
var min = arr[0];  // 2
var max = arr[arr.length - 1];  //124

3.Math的max/min方法

var arr = [2,23,12,124,82];

var max = Math.max.apply(null, arr);
var min = Math.min.apply(null, arr);

console.log(max, min) // 124,2

4.ES6的扩展运算符

//最大值
 var arr = [2,23,12,124,82];
 console.log(arr.Math(...arr)); // 124

5.eval

本质上还是使用Math的max/min方法

var arr = [2,23,12,124,82];
var max = eval("Math.max(" + arr + ")");
console.log(max); //124
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章