2011-08-19 47 views
10

我有3個單獨的數組,我正在尋找將它們全部加載到單個數組中。我能夠使用.push()幾個數組合成一個嗎?是這樣的可能嗎?是否有可能在Javascript中鏈接array.push()?

var activeMembers=[];  // Active Users 
var noactiveMsg=[];  // Non-Active Users with a Pending Message 
var noactiveNomsg=[];  // Non-Active Users without a Pending Message 
var chatCenterMembers=[];   // Final Array of Chat Center Members 


chatCenterMembers.push(activeMembers).push(noactiveMsg).push(noactiveNomsg); 

有沒有辦法鏈.push()?

+4

這是什麼都與jQuery做? –

+0

噢......我只是在JQUERY中做這件事......我想這可能是PHP ...類似的語法.. – Adam

+2

這並沒有引起很大的意義。我認爲你很困惑[JavaScript(一種編程語言)](http://en.wikipedia.org/wiki/Javascript)和[jQuery(一個JavaScript庫)](http://en.wikipedia.org/wiki/) JQuery的)。 –

回答

6
chatCenterMembers.push(activeMembers,noactiveMsg,noactiveNomsg) 
+1

這將創建一個數組的數組,而不是每個數組的所有成員的一個數組。 – RobG

+0

Rob ...我聽說push()比concat()更快,那是真的嗎?如果是這樣,可以通過推送來完成? – Adam

+0

Push將需要遍歷每個數組的所有成員,所以我懷疑它會更快。可能對維護者來說更明顯。 – RobG

21

您正在尋找(香草)JavaScript方法Array.concat()

返回由此數組與其他數組和/或值組成的數組組成的新數組。

例子,下面的代碼:

chatCenterMembers = chatCenterMembers 
    .concat(activeMembers) 
    .concat(noactiveMsg) 
    .concat(noactiveNomsg); 
+4

我會說這正是OP的含義。 – karim79

2

你可以用,而不是.concat()做到這一點。

var chatCenterMembers=[]; 
chatCenterMembers = chatCenterMembers.concat(activeMembers, noactiveMsg, noactiveNomsg); 
1

由於在其他人已經貼吧:

var chatCenterMembers = activeMembers.concat(noactiveMsg, noactiveNomsg); 
相關問題