Javascript函数参数作为数组
比如说,我想要一个数字数组中的最大数字Javascript函数参数作为数组,javascript,arrays,Javascript,Arrays,比如说,我想要一个数字数组中的最大数字 var numbers = [54,34,76,33,87,12,76,92,44,93,23]; 我希望能够使用Math.max()来查找最大的数字,而无需使用eval 因此,我希望能够将参数数组传递给函数。数组的长度可以更改,因此Math.max(数字[0],数字[1]…)无法工作 有什么方法可以做到这一点吗?您可以使用.apply()方法: var max = Math.max.apply(Math, numbers); .apply()方法是函
var numbers = [54,34,76,33,87,12,76,92,44,93,23];
我希望能够使用Math.max()
来查找最大的数字,而无需使用eval
因此,我希望能够将参数数组传递给函数。数组的长度可以更改,因此Math.max(数字[0],数字[1]…)
无法工作
有什么方法可以做到这一点吗?您可以使用
.apply()
方法:
var max = Math.max.apply(Math, numbers);
.apply()
方法是函数.prototype
的一个属性,因此可用于所有函数实例。它的第一个参数用作要调用的函数中的this
的值,第二个参数应该是将用作参数值列表的数组
在上面的示例中,我使用了
Math
作为this
的值,因为这是this
在Math.max
的典型调用中的值,但是(至少在我安装的Firefox上)Math.max.apply(null,numbers)
也可以使用。此外,如果您使用的是JavaScript Harmony ES6,可以使用spread操作符,请查看我最近的