六、JavaScript专题之数组取最大值和最小值

数组取最大值、最小值的常用实现方式:

apply

1
2
var arr = [11, 22, 33, 44, 22, 15, 76];
console.log(Math.max.apply(null, arr));

循环遍历

1
2
3
4
5
6
7
var arr = [11, 22, 33, 44, 22, 15, 76];

var result = arr[0];
for (var i = 1; i < arr.length; i++) {
result = Math.max(result, arr[i]);
}
console.log(result);

ES6

1
2
var arr = [11, 22, 33, 44, 22, 15, 76];
console.log(Math.max(...arr));

排序取值

1
2
3
4
5
6
7
8
9
var arr = [11, 22, 33, 44, 22, 15, 76];

function max(arr) {
return arr
.sort((a, b) => a - b)
.slice()
.pop();
}
console.log(max(arr));

reduce

1
2
3
4
5
6
var arr = [11, 22, 33, 44, 22, 15, 76];

function max(prev, next) {
return Math.max(prev, next);
}
console.log(arr.reduce(max));

eval

1
2
3
4
var arr = [11, 22, 33, 44, 22, 15, 76];

var max = eval("Math.max(" + arr + ")");
console.log(max);

暂时总结到这里,后续再补充。