js 求数组最大值的方法

/**
 * 
 * @param {Array} list 传入数组
 * @return {Number} 返回数组最大元素
 */

// 方法一:利用Math里边的max方法
function maxItem(list) {
  // 利用Math里边的max方法
  return Math.max(...list)
}

// 方法二:利用Math里边的max方法
function maxItem(list) {
  return Math.max.apply(null, list)
}

// 方法三:利用数组的reduce方法
function maxItem(list) {
  // 利用数组的reduce方法
  return list.reduce((a, b) => {
    return a > b ? a : b
  })
}

// 方法四:利用数组的sort方法
function maxItem(list) {
  // 先降序排列
  const arr = list.sort((a, b) => {
    return b - a
  })
  // 返回新数组的第一项
  return arr[0]
}

// 方法五:手写循环
function maxItem(list) {
  let max = list[0]
  list.forEach(item => {
    if (item > max) {
      max = item
    }
  })
  return max
}

const test = [12, 7, 5, 86, 54, 23, 45, 21, 92, 102, 56]
console.log(maxItem(test)); // 102