js找出数组中的最大值

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));//最小值

 

你可能感兴趣的:(js)