2013-03-04 108 views
8

我想弄清楚如何循环传递几个数组参数。 例如:[1,2,3,4,5],[3,4,5],[5,6,7] 如果我将它传递给一个函数,我将如何在每个参数内部有一个函数循环(可以传递任何数量的数组)?通过未知数量的数组参数循环

我想在这里使用for循环。

+0

在你要遍历'arguments'的函数中,并且对于每个参数,你需要遍历数组。 – zzzzBov 2013-03-04 20:19:01

+0

可能重复的[JavaScript函数参数的变量数量](http://stackoverflow.com/questions/2141520/javascript-variable-number-of-arguments-to-function) – jbabey 2013-03-04 20:19:38

+0

var args = arguments; (i = 0; i swaggyP 2013-03-04 20:20:23

回答

12

您可以使用arguments这个:

for(var arg = 0; arg < arguments.length; ++ arg) 
{ 
    var arr = arguments[arg]; 

    for(var i = 0; i < arr.length; ++ i) 
    { 
     var element = arr[i]; 

     /* ... */ 
    } 
} 
2

使用内置的arguments关键字,该关键字将包含您拥有多少个阵列的length。用它作为循环遍历每个数组的基础。

0

使用的forEach,如下:

'使用严格的';

function doSomething(p1, p2) { 
    var args = Array.prototype.slice.call(arguments); 
    args.forEach(function(element) { 
     console.log(element); 
    }, this); 
} 

doSomething(1); 
doSomething(1, 2);