求数组最大值

当前所列方法都为求最大值方法,最小值可以相应的修改

1. for循环方法

function max(arr) {
  let max = arr[0];
  for(let i = 0; i < arr.length; i++){
    if(max < arr[i]){
      max = arr[i];
    }
  }
  return max;
}
let arr = [97, 3, 24, 828, 9983, 09, 31, 980, 9381, 98, 309, 298, 92];
let maxValue = max(arr);
console.log(maxValue )

2. Math函数方法

a. Math.max.apply()方法

如果数组有太多的元素,展开语法(...)和 apply 都将失败或返回错误的结果,因为它们试图将数组元素作为函数形参传递。(JavaScriptCore 引擎中有被硬编码的[参数个数上限:65536])

function max(arr) {
  return Math.max.apply(null, arr)
}

b. 展开语法

function max(arr) {
  return Math.max(...arr)
}

3. 数组reduce方法

function max (arr) {
  return arr.reduce((a, b) => Math.max(a, b), -Infinity);
}

4. 查找数组中对象某个属性的最大值

function max(arr, key) {
  return arr.reduce((a, b) => Math.max(a, b[key]), -Infinity);
}

你可能感兴趣的:(求数组最大值)