Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript函数参数作为数组_Javascript_Arrays - Fatal编程技术网

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操作符,请查看我最近的