假设存在一个数组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