求数组最大值与最小值

369 阅读1分钟

目标,求数组的最大值与最小值

let arr=[10,20,30,40,90,108,80,72,99,27,36]

法1 for循环

let max=-Infinity
let min=Infinity
for(let i = 0;i<arr.length;i++){
    if (arr[i]>max){
        max=arr[i]
    }
    if (arr[i]<min){
        min=arr[i]
    }
}
console.log(max, min)

法2 Math.max()/Math.min()+apply()

let max=Math.max.apply(Math,arr)
let min=Math.min.apply(Math,arr)
console.log(max,min)

法3 Math.max()/Math.min()+展开运算符

let max=Math.max(...arr)
let min=Math.min(...arr)
console.log(max, min)

法4 reduce()

let max= arr.reduce((pre,cur)=>{
    return pre>cur?pre:cur  
})
let min= arr.reduce((pre,cur)=>{
    return pre<cur?pre:cur  
})
console.log(max, min)