假设存在一个数组let target = [1, 12, 45, 11, 5, -2],获取其中最大值。下面是我想到的两种解决思路,如果有其他解决思路不妨交流一下,互相学习和总结。
第一种:按照冒泡排序的思路,仅实现一轮排序,其最后的值就是数组中最大的值
// 冒泡排序第一层循环
function getMaxNumber(arr) {
  let length = arr.length;
  
  // 将最大的数值排到最后
  for (let i = 0; i < length; i++) {
    if (arr[i] > arr[i + 1]) {
      let save = arr[i]
      arr[i] = arr[i + 1]
      arr[i + 1] = save
    }
  }
  
  return arr[length - 1]
}
// 调用函数
let result = getMaxNumber(target)
console.log(result)  // -> 45
第二种:利用数组sort方法,进行升序排序
function getMaxNumberBySort(arr) {
  let length = arr.length
  return arr.sort((a, b) => {
    return a - b
  })[length - 1]
}
// 调用函数
let result = getMaxNumberBySort(target)
console.log(result)  // -> 45
原文:https://www.cnblogs.com/superwong/p/14089398.html