将参数动态添加到函数中(非限制)

问题描述:

我想要一种将多个数组作为函数参数(动态)传递的方法,并将它们的值存储到单个数组中(我知道如何执行此部分),如下所示:将参数动态添加到函数中(非限制)

function arrayfunction (/*arrays go here*/) { 
    var allArrays = [] 
} 
arrayfunction([a,b,c],[d,e,f],[h,i,j],...); 

那该怎么办?

+0

预期产量是多少? – gurvinder372

+0

[可以将可变数量的参数发送给JavaScript函数吗?](http://*.com/questions/1959040/is-it-possible-to-send-a-variable-number- of-arguments-to-a-javascript-function) –

+0

包含所有数组值的单个数组 – dadadodo

这应该让你开始

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);的事情来获取数组。