我有一个像这样的函数(但有更多参数):
function do_something(n1, n2, n3){
return((n1-n2)*n3);
}
然后我有一个包含 3 个项目的数组,它们是该函数的参数:
my_array = [10,123,14];
例如,
do_something(my_array[0], my_array[1], my_array[2]);
以下可能不是有效的 JavaScript 代码,但我想要这样的代码,
do_something(for(var i = 0; i < my_array.length; i++){
add_parameter(my_array[i]);
});
那么,有没有什么有效的方法可以让数组的元素成为函数的参数呢?
Use 扩展语法 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operatorES2015中引入:
do_something(...my_array);
这会spread的元素my_array
作为单独的论点do_something
. If my_array
包含10, 123, 14
这将相当于调用do_something(10, 123, 14)
.
当然,你仍然可以使用Function#apply https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply如果您想支持 ES5 版本的 Internet Exploder:
do_something.apply(null /* the this value */, my_array);
apply
本质上做同样的事情。它接受一个参数数组并使用这些参数作为函数的单独参数来执行给定的函数(并且this
value).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)