0%
数组取最大值、最小值的常用实现方式:
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);
|
暂时总结到这里,后续再补充。