2013-10-24 132 views
0

下一部分,我在我的JavaScript函數整數數組,我已經簡化到工作 -傳遞數組變量的函數

var recs = new Array(); 
recs[0] = 1; 
recs[1] = 2; 
recs[2] = 3; 

再往下我的功能,我使用的recs每個值一樣 -

data: [ 
     recs[0], recs[1], recs[2] 
    ] 

我如何通過區域經濟共同體的每個值進行迭代,並把它添加到data沒有硬編碼他們,值的數量很可能會改變。

回答

2

好吧,如果你使用不介意相同的陣列參考,您可以簡單地做:

data: recs

否則,您可以使用slice克隆該陣列。

data: recs.slice()

注:如果你看一下函數引用,你會看到同樣的功能,使您能夠將關閉陣列的特定部分爲好。

+0

是零是可選在這裏'recs.slice(0)'? – ajax333221

+0

@ ajax333221是的。 「如果開始被省略,切片從索引0開始。」 - MDN – plalx

+0

奇怪的是,MDN在函數簽名中沒有顯示begin是可選的,但它確實是可選的:http://jsfiddle.net/k68Hu/1 – JLRishe

1

也許你只需要:

var data = recs; 

... 
    data:recs 
    ... 

,或者如果你想保持那麼DIFF參考:

data : [].concat(recs); 
0

應該使用一個for循環經濟共同體中的項目迭代

var recs = []; // its better practice to use the array literal here instead of new Array() 
recs[0] = 1; 
recs[1] = 2; 
recs[2] = 3; 

var i = 0, 
    count = recs.length, 
    data = []; 

for (; i < count; i++) { 
    data[i] = recs[i]; 
}