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

var ary = [12,23,23,4,4,12,4,141,4];

1.利用obj存储

var min = max= null;

var obj = {};

for(var i=0;i<ary.length;i++){

var cur = ary[i];

obj[cur]= cur;

}
var count = 0 ;

for(var key in obj){

count++;

if(count===1){

min = key;

}

max = key;

}

console.log(min,max)

2.先排序然后掐头去尾;

ary.sort(function(a,b){
return a-b;
});
var max = ary[ary.length-1];
var min = ary[0];

3.假设法;

假设数组中的第一个值是最大的,然后和剩下的项进行依次的比较,如果比假设的值还要大,说明假设的值是错误的,把当前的项的值从新设置为当前假设的最大值;
var min = max = ary[0];
for(var i=0;i<ary.length;i++){
var cur = ary[i];
cur>max? max=cur:null;
cur<min? min = cur:null;
}
4.借用Math的max/min方法实现数组的最大值和最小值的获取
 var max = Math.max.apply(null, ary);
  var min = Math.min.apply(null, ary);
    console.log(max, min)
原文地址:https://www.cnblogs.com/han6054/p/5373174.html