文章目录
- 1. 排序法
- 2. 假设法
- 3. 使用 Math 中的 max/min 方法
- 4. 使用ES6的扩展运算符
1. 排序法
// 数组中获取最大和最小值compareMaxMin() {const arr = [12, 56, 25, 5, 82, 51, 22, 100, 2];arr.sort(function (a, b) {return a - b;}); // [5,12,22,25,51,56]const min = arr[0]; // 5console.log("最小值->min", min)const max = arr[arr.length - 1]; // 56console.log("最大值->max", max)},
2. 假设法
假设当前数组中的第一个值是最大值,然后拿这个最大值和后面的项逐一比较,如果后面的某一个值比假设的值还大,说明假设错了,我们把假设的值进行替换。最后得到的结果就是我们想要的。
// 获取最大值:var arr = [22,13,6,55,30];
var max = arr[0];for(var i = 1; i < arr.length; i++) {var cur = arr[i];cur > max ? max = cur : null
}console.log(max); // 55// 获取最小值:var arr = [22,13,6,55,30];
var min = arr[0];for(var i = 1; i < arr.length; i++) {var cur = arr[i];cur < min ? min = cur : null
}
console.log(min) // 6
3. 使用 Math 中的 max/min 方法
可以使用apply来实现。apply传入的是一个数组。
var arr = [22,13,6,55,30];var max = Math.max.apply(null, arr);
var min = Math.min.apply(null, arr);console.log(max, min) // 55,6
4. 使用ES6的扩展运算符
var arr = [22,13,6,55,30];console.log(Math.max(...arr)); // 55