javascript - 将数组中的所有值作为参数传递给函数

标签 javascript arrays function parameter-passing

我有一组值:

['a', 'b', 'c', 'd']

我需要将这些作为参数传递给函数:

window.myFunction('a', 'b', 'c', 'd');

如果我可以将数组/对象传递给函数,这会更容易,但是这些函数是由其他人编写的或者已经存在并且我无法更改它们 - 它们需要作为单独的参数传递,这就是我需要解决。

传递的值数量不一致。可能是一个,也可能是100个。

同样,我不能影响功能。它们就是它们的样子,我将始终收到一组要传递给它们的值。

最佳答案

使用 Function 对象的 .apply 方法。

window.myFunction.apply(window, ['a','b','c','d']);

.apply 方法调用您正在调用的函数,但允许您设置函数的 this 值(第一个参数)并允许您使用数组(第二个参数)。

所以这里我们将 window 保留为 this 值,并将 Array 作为单独的参数传递。 Array 成员将被分发,就好像它们作为单独的参数传递一样,所以就好像您已经这样做了:

window.myFunction('a','b','c','d');

关于javascript - 将数组中的所有值作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19570629/

相关文章:

javascript - 导航栏链接滚动到顶部

javascript - Create-React-App - 修改 serviceWorker 以轮询新更新?

javascript - 如何在 Semantic-UI 中的弹出数据工具提示中添加换行符

php - 使用多个条件对php中的关联数组进行排序

c++ - 同时需要 typedef 和 class

C - 按零件编号升序显示零件

c - 函数在另一个函数中带有指针参数?

javascript - 如何正确使用跑马灯?

java - 将数组作为参数传递给java中的函数

python - 将 coef 拆分为适用于多类的数组