将参数动态添加到函数中(非限制)
问题描述:
我想要一种将多个数组作为函数参数(动态)传递的方法,并将它们的值存储到单个数组中(我知道如何执行此部分),如下所示:将参数动态添加到函数中(非限制)
function arrayfunction (/*arrays go here*/) {
var allArrays = []
}
arrayfunction([a,b,c],[d,e,f],[h,i,j],...);
那该怎么办?
答
这应该让你开始
function arrayfunction (/*arrays go here*/)
{
var outputArr = [];
for (var counter = 0; counter < arguments.length; counter++)
{
outputArr = outputArr.concat(arguments[ counter ]);
}
return outputArr;
}
答
你可以,如果你使用的是巴别塔或其他transpiler支持ES6使用Rest Parameters。 对于ES5,您可以使用arguments关键字来获取传递给函数的参数,但是arguments
不是数组,您需要做一些类似于var args = Array.prototype.slice.call(arguments, 1);
的事情来获取数组。
预期产量是多少? – gurvinder372
[可以将可变数量的参数发送给JavaScript函数吗?](http://*.com/questions/1959040/is-it-possible-to-send-a-variable-number- of-arguments-to-a-javascript-function) –
包含所有数组值的单个数组 – dadadodo