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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章