如何找到 JavaScript 数组中包含的最大数字?
2022-08-30 01:04:32
我有一个简单的JavaScript Array对象,其中包含一些数字。
[267, 306, 108]
有没有一个函数可以找到这个数组中最大的数字?
我有一个简单的JavaScript Array对象,其中包含一些数字。
[267, 306, 108]
有没有一个函数可以找到这个数组中最大的数字?
Array.max = function( array ){
return Math.max.apply( Math, array );
};
警告:由于某些 VM 上的最大参数数低至 65535,因此,如果不确定数组是否那么小,请使用 for 循环。
您可以使用 apply 函数来调用 Math.max:
var array = [267, 306, 108];
var largest = Math.max.apply(Math, array); // 306
它是如何工作的?
apply 函数用于调用另一个函数,该函数具有给定的上下文和参数,以数组形式提供。最小值和最大值函数可以采用任意数量的输入参数:Math.max(val1, val2, ..., valN)
因此,如果我们调用:
Math.min.apply(Math, [1, 2, 3, 4]);
应用函数将执行:
Math.min(1, 2, 3, 4);
请注意,第一个参数(上下文)对于这些函数并不重要,因为它们是静态的。无论作为上下文传递什么,它们都将起作用。