定义一个数组
arr = [2, 4, 5, 8, 9, 4, 3, 1];
求数组最大值
1、 apply()实现
Math.max.apply(null, arr); // 9
apply的实现原理会在下一篇博客中解释
2、递归实现
function max(n) {
if(n == 0) {
return arr[0];
} else if(max(n-1) > arr[n]) {
return max(n-1)
} else {
return arr[n];
}
}
max(arr.length-1); // 9。下标从0开始,所以是length-1
解释:这实际上是求数组前n项的最大值。传入数组的长度减一,即为整个数组的最大值