基础的通过for循环假设一个最大值或者最小值这种方法就不说了
今天要说一种通过apply来实现拿到数组中最大值和最小值
数组中并没有提供arr.max()和arr.min()这样的方法。可是JavaScript提供了这样一个这样的内置函数Math.max()和Math.min()方法:
对于纯数字数组,可以使用JavaScript中的内置函数Math.max()和Math.min()方法,使用这两个内置函数可以分别找出数组中最大值和最小值,在使用之前先温习一下Math.max()和Math.min()这两个函数:
Math.max()函数返回一组数中的最大值。
Math.max(5,10); // 10
Math.min()和Math.max()刚好相反,会返回一组数中的最小值
Math.min(5,10); // 5
这些函数如果没有参数,则结果为 -Infinity;如果有任一参数不能被转换为数值,则结果为NaN。最主要的是这两个函数对于,数字组成的数组是不能直接使用的。但是,这有一些类似地方法。
Function.prototype.apply()让你可以使用提供的this来调用参数。
<script>
// 取数组中的最大值
Array.max = function (array) {
return Math.max.apply(Math, array)
}
// 取数组中的最小值
Array.min = function (array) {
return Math.min.apply(Math, array)
}
var arr = [1, 2, 3, 4, 5, 6, 7];
console.log(Array.max(arr)) // 7
console.log(Array.min(arr)) // 1
</script>
网友评论