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)
时间: 2024-10-13 16:19:24