我想调用一个函数,让我们说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!
答案 0 :(得分:0)
如果你在ES5环境中,你可以使用参数:
git checkout betterfoo

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