javascript获取数组中的最大值和最小值

3,302 阅读1分钟

1、排序法

先对数组进行排序,可以按照从小到大的顺序来排,然后返回数组中的第一个数和最后一个数。

var arr = [12,56,25,5,82,51,22];
arr.sort(function(a,b){
    return a - b;
});
var min = arr[0];
var max = arr[arr.length-1];
console.log(min);
console.log(max);

2、假设法

假设第1个元素是最大值或者是最小值,遍历数组,找数组中大于max的数,或者是小于min的数,更新max和min值。

var arr = [12,56,25,5,82,51,22];
function findMainAndMax(arr){
    var min = arr[0];
    var max = arr[0];
    for(var i = 1; i < arr.length; i++){
        arr[i] > max ? max = arr[i] : max;
        arr[i] < min ? min = arr[i] : min;

    }
    console.log(min);
    console.log(max);
}
findMainAndMax(arr);

3、Math的max和min方法

var arr = [12,56,25,5,82,51,22];
var max = Math.max.apply(null,arr);
var min = Math.min.apply(null,arr);
console.log(max);
console.log(min);

4、ES6

var arr = [12,56,25,5,82,51,22];
var max = Math.max(...arr);
var min = Math.min(...arr);
console.log(max);
console.log(min);