js找出数组中最大值和最小值

var arr = [3,5,1,7,2]

1.sort排序

arr.sort((a,b)=>{
  return a-b
})
//arr[0] min
//arr[arr.length-1] max

2.循环比较

先假设第一个值为最大或者最小值,然后逐一比较

var max = arr[0], min = arr[0]
arr.forEach(i => {
  max = max > i ? max : i
  min = min < i ? min : i
})

3.Math.max和Math.min

var max = Math.max.apply(null,arr)
var min = Math.min.apply(null,arr)

es6扩展运算符

var max = Math.max(...arr);
var min = Math.min(...arr);

4.reduce方法(类似方法2)

var max = arr.reduce((initValue,currentValue)=> {
  return initValue = initValue > currentValue ? initValue : currentValue
})
var min = arr.reduce((initValue,currentValue)=> {
  return initValue = initValue < currentValue ? initValue : currentValue
})

你可能感兴趣的:(js找出数组中最大值和最小值)