1.es6拓展运算符...
采用Math对象里的max()方法,需要将比较的数一个一个的传递进来才能比较
Math.max(...arr)
2.es5 apply(与方法1原理相同)
Math.max.apply(null,arr)
3.for循环
let max = arr[0];
for (let i = 0; i < arr.length - 1; i++) {
max = max < arr[i+1] ? arr[i+1] : max
}
4.数组sort()
首先对数组进行排序(从大到小),第一项为最大值
arr.sort((num1, num2) => {
return num1 - num2 < 0
})
arr[0]
5.数组reduce
arr.reduce((num1, num2) => {
return num1 > num2 ? num1 : num2}
)
多维数组可以这样修改
var a = [1,2,3,[5,6],[1,4,8]];
var ta = a.join(",").split(",");//转化为一维数组
console.log(Math.max.apply(null, ta));//最大值
console.log(Math.min.apply(null, ta));//最小值