在 JavaScript 中将数组作为函数参数传递

2022-08-29 23:45:44

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

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

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

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


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

请参阅MDN docs for Function.prototype.apply()


如果环境支持 ECMAScript 6,则可以改用 spread 参数

call_me(...args);

答案 2

为什么不传递整个数组,并在函数内部根据需要对其进行处理?

var x = [ 'p0', 'p1', 'p2' ]; 
call_me(x);

function call_me(params) {
  for (i=0; i<params.length; i++) {
    alert(params[i])
  }
}