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