1娩脾、排序法
var ary = [10,1,8,4,2,6,5];
ary.sort(function(a,b){
return a-b
})
var min = ary[0];
var max = ary[ary.length-1]
2窒朋、假設(shè)法
假設(shè)當前數(shù)組第一個值是最大值搀罢,拿這個值和后面的值逐一進行比較,如果后面的某一個值比假設(shè)的要大侥猩,就說明我們假設(shè)錯了,把假設(shè)值進行替換
var ary = [10,1,8,4,2,6,5];
var min =ary[0];
var 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;
}
3抵赢、eval把一個字符串變成js的表達式
let ary = [45,34,1,50,12]
let max = eval("Math.max("+ary.toString+")")
let min = eval("Math.min("+ary.toString+")")
4欺劳、Math.max和Math.min方法
var max = Math.max.apply(null,ary);
var min = Math.min.apply(null,ary)
5、借助ES6的擴展運算符
let ary = [45,34,1,50,12]
let max = Math.max(...ary)
let min = Math.min(...ary)
6铅鲤、使用reduce()函數(shù)
let ary = [45,34,1,50,12]
function maxReduce(ary) {
return ary.reduce((accumulate, current) => {
return accumulate > current ? accumulate : current;
});
}