Javascript函数参数作为数组

标签 javascript arrays

<分区>

例如,我想要一个数字数组中的最大数字。

var numbers = [54,34,76,33,87,12,76,92,44,93,23];

我希望能够在不使用 eval 的情况下使用 Math.max() 找到最大数。

因此,我希望能够将一组参数传递给一个函数。数组的长度可以改变,所以 Math.max(numbers[0],numbers[1]...) 将不起作用。

有什么办法可以做到这一点吗?

最佳答案

您可以使用 .apply() 方法:

var max = Math.max.apply(Math, numbers);

.apply() 方法是 Function.prototype 的属性,因此可用于所有函数实例。它的第一个参数用作要调用的函数中 this 的值,第二个参数应该是一个数组,将用作参数值列表。

在我上面的示例中,我使用 Math 作为 this 的值,因为这就是 this 的典型调用中的值>Math.max,但是(至少在我安装的 Firefox 上)Math.max.apply(null, numbers); 也可以。

关于Javascript函数参数作为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32429447/

相关文章:

php - PHP 关联数组中的项目不能以数字方式访问(即通过索引)吗?

javascript - SSL 的 Firefox 插件

javascript - 输入类型文本值到多行

JavaScript 间隔函数来计算日期时间

.net - 为什么 dotnet 1.1 在 ArrayList.GetRange 之后不能强制转换?

arrays - Excel VBA 数组 - 写入事务数据

c - 如何从c中的字符串文字中获取单个字符?

javascript - 尝试更新 Meteor.users 结果为 "Access Denied"

javascript - 使用 jsPlumb 和 jquery-ui 的行偏移不正确

java - Java 将 double 拆分为数组