2013-03-04 74 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);