1.for 循环遍历取数组最大值,取最小值同理
var arr = [1, 26, 8, 47, -5, 133, 90]; var max = arr[0]; // 先假设数组第一个元素即最大值 for (var i = 0; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; } } console.log(max); // > 133
2.使用 sort() 方法取数组最大值,取最小值同理
var arr = [1, 26, 8, 47, -5, 133, 90]; // 将数组元素从大到小排序 arr.sort(function(a, b) { return b - a; }); var max = arr[0]; console.log(max);
3.使用 reduce() 方法取数组最大值,取最小值同理
var arr = [1, 26, 8, 47, -5, 133, 90]; var max = arr[0]; // 先假设数组第一个元素即最大值 max = arr.reduce(function(max, val) { return max > val ? max : val; }, max); console.log(max); // > 133
4.使用 Math.max() / Math.min()、apply() / ES6 扩展操作符(…) 方法取数组最大值/最小值
var arr = [1, 26, 8, 47, -5, 133, 90]; var max = Math.max.apply(null, arr); var min = Math.min.apply(null, arr); console.log(max); // > 133 console.log(min); // > -5
或
var arr = [1, 26, 8, 47, -5, 133, 90]; var max = Math.max(...arr); var min = Math.min(...arr); console.log(max); // > 133 console.log(min); // > -5