Javascript獲取陣列中最大和最小值
阿新 • • 發佈:2018-12-18
1.排序法
首先我們給陣列進行排序,可以按照從小到大的順序來排,排序之後的陣列中第一個和最後一個就是我們想要獲取的最小值和最大值。排序我們會用到陣列的 sort 方法。
var arr = [12,56,25,5,82,51,22];
arr.sort(function (a, b) {
return a-b;
}); // [5,12,22,25,51,56]
var min = arr[0]; // 5
var max = arr[arr.length - 1]; // 56
2.假設法
假設當前陣列中的第一個值是最大值,然後拿這個最大值和後面的項逐一比較,如果後面的某一個值比假設的值還大,說明假設錯了,我們把假設的值進行替換。最後得到的結果就是我們想要的。
// 獲取最大值: var arr = [22,13,6,55,30]; var max = arr[0]; for(var i = 1; i < arr.length; i++) { var cur = arr[i]; cur > max ? max = cur : null } console.log(max); // 55 // 獲取最小值: var arr = [22,13,6,55,30]; var min = arr[0]; for(var i = 1; i < arr.length; i++) { var cur = arr[i]; cur < min ? min = cur : null } console.log(min) // 6
3.使用 Math 中的 max/min 方法
可以使用apply來實現。apply傳入的是一個數組。
var arr = [22,13,6,55,30];
var max = Math.max.apply(null, arr);
var min = Math.min.apply(null, arr);
console.log(max, min) // 55,6
4. 使用ES6的擴充套件運算子
var arr = [22,13,6,55,30];
console.log(arr.Math(...arr)); // 55