我该如何在JavaScript数组中找到最大的数?
我该如何在JavaScript数组中找到最大的数?
我有一个简单的JavaScript数组对象,里面包含一些数字。
[267, 306, 108]
有没有一个函数可以在这个数组中找到最大的数字?
admin 更改状态以发布 2023年5月21日
你可以使用apply函数来调用Math.max:
var array = [267, 306, 108]; var largest = Math.max.apply(Math, array); // 306
它是如何工作的?
apply函数用于调用另一个函数,并提供一个作为数组的给定上下文和参数。min和max函数可以接受任意数量的输入参数:Math.max(val1,val2,...,valN)
因此,如果我们调用:
Math.min.apply(Math, [1, 2, 3, 4]);
apply函数将执行:
Math.min(1, 2, 3, 4);
请注意,对于这些函数而言,第一个参数上下文并不重要,因为它们是静态的。无论传递什么作为上下文,它们都可以正常工作。
Array.max = function( array ){ return Math.max.apply( Math, array ); };
警告: 由于某些虚拟机上的最大参数数量只有65535, 如果不确定数组是否这么小,则使用for 循环