如何以编程方式生成具有可变数量参数的函数参数列表?

时间:2017-09-04 05:24:59

标签: javascript arguments parameter-passing

我想调用一个函数,让我们说test_func接受可变数量的参数。 (像这个函数http://locutus.io/php/array/array_intersect_assoc/

请注意我想避免修改接收器功能!到目前为止,所有答案都需要修改接收器功能,就像链接的“可能的欺骗”一样。我想以编程方式生成参数列表本身。 (例如传递可变数量的对象)

我事先并不知道有多少论据。如何使用对象生成可变长度参数?

var v1 = {test:1};
var v2 = {test2:2};
var obj_arr = [v1,v2];
console.log(test_func (obj_arr.join(",")));

//in my case this should be the equivalent of test_func (v1,v2);

function test_func (object_arg) {
  return(arguments.length);
  }
//should return 2!

1 个答案:

答案 0 :(得分:0)

如果你在ES5环境中,你可以使用参数:



git checkout betterfoo




如果您在ES6环境中,您可以按照Suren的建议使用rest操作符,也可以使用上面的参数variant - 具体取决于您的团队惯例。