这就是我想做的。我有两种方法,第一种可以接受任意数量的参数。这个方法是一个中介,它不知道它将要接收多少个参数,但是它需要将其所有参数传递给另一个方法。显然还有更多的代码,但是我已经将其简化为最低限度。
function acceptArguments(args) {
secondFunction(arguments);
}
通常,使用这种方法,第二种方法将参数接受为数组
function secondFunction(param) {
console.log(param);
}
运行此程序,我希望看到以下内容:
acceptArguments(1、2、3、4)=>并且输出为[1,2,3,4]
但是我想做的是让secondFunction方法单独接受参数,而不是将其接受为数组,所以看起来像这样:
function secondFunction(v1, v2, v3, v4) {
console.log(v1, v2, v3, v4);
}
运行此代码,如果我将1、2、3、4个单独的参数传递给方法,我希望看到以下内容:
acceptArguments(args)=>,输出将为1、2、3、4
我的情况是,secondFunction方法知道它将要接收多少个参数,但是acceptArguments方法(这是一个中介程序,它不知道或不在乎它传递了多少个参数。
我尝试了以下操作,但没有结果:
function acceptArguments() {
secondFunction(...arguments);
}
function acceptArguments() {
secondFunction(...Object.keys(arguments));
}
function acceptArguments() {
secondFunction.apply(Object.keys(arguments));
}
答案 0 :(得分:1)
您可以使用rest语法将所有参数收集到acceptArguments
中的数组中(这比使用arguments
变量更可取),然后将这些参数传播到{{1} }:
secondFunction