获取一个数组中的最大值,最小值

主要考察数组的排序,Math.max等方法的使用

解法一:

let arr = [1,2,3,4,5,77,45,4,5648,15,1,3254,564,654,1].sort((a,b)=>b-a);
arr[0]   // 5648 就是最大值
arr[arr.length-1] // 1 最小值

使用了数组的排序方法,对数组进行正序或是倒叙的排列从而得出最大值与最小值

解法二:

let arr = [1,2,3,4,5,77,45,4,5648,15,1,3254,564,654,1];
let arrMax = Math.max.apply(null, arr);  // 最大值
let arrMin = Math.min.apply(null, arr);  // 最小值

该方法使用了Math的数学方法进行值的取得,并且配合apply方法对数组中的元素进行展开操作

解法三:

let arr = [1,2,3,4,5,77,45,4,5648,15,1,3254,564,654,1];
let arrMax = Math.max(...arr);  // 最大值
let arrMin = Math.min(...arr);  // 最小值

该方法使用ES6的展开运行符,进行数组元素的展开,其本质与第二种解法相同,当时使用展开云算法能够更加清晰

题中的数组元素是存在一定的重复的,如果需要将数组进行去重的操作,可移步如何进行数组去重操作

Last updated

Was this helpful?