我想使用数组作为参数调用函数:

const x = ['p0', 'p1', 'p2'];
call_me(x[0], x[1], x[2]); // I don't like it

function call_me (param0, param1, param2 ) {
  // ...
}

有没有更好的方法将x的内容传递到call_me()中?

推荐答案

const args = ['p0', 'p1', 'p2'];
call_me.apply(this, args);

参见MDN文档中的Function.prototype.apply()条.


如果环境支持ECMAScript 6,则可以改用spread argument:

call_me(...args);

Javascript相关问答推荐

用逗号分隔的双向绑定字符串

对字符串进行条件判断

在另一个方法的内部函数中调用 this.method()

如何在 TypeScript 中获取 Enum 的最小值/最大值

如何将 Rsa 密钥对(字符串)转换为加密密钥以对数据进行签名

如何从圆圈中的文本中删除阴影?

Javascript 通过从数组值中仅选择真值来更改值

如何使用 Jquery 访问 JSON 的“对象”部分?

React Native FlatList 项目消失

需要目录而不是 js 文件

Spread Syntax 创建浅拷贝还是深拷贝?

在 JavaScript 中,我可以阻止 onmouseup 事件被触发,用我自己的事件替换它吗?

当我在 rxjs 的管道中遇到错误时如何执行“取消订阅”?

输入数字必须是 6 位数字或 9 位数字

为什么这个二维数组过滤不起作用?

Google Sheet App Script:将 1 个值从一张表匹配到另一张表,然后如果条件满足设置背景

使用 useState 挂钩更新对象数组

用状态中的选中字段react 更新对象数组

我该如何解决这个错误:FirebaseError: Expected type 'mc', but it was: a custom yc object?

findIndex 方法在值存在时不检索索引