2011-08-19 12 views
10

Ho 3 array separati e sto cercando di caricarli tutti in un unico array. Sono in grado di utilizzare .push() diversi array in uno? È possibile qualcosa del genere?È possibile mettere in catena array.push() in Javascript?

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); 

C'è un modo per concatenare .push()?

+4

Che cosa ha a che fare con jQuery? –

+0

Oh ... lo sto facendo solo in JQUERY ... Immagino che potrebbe essere PHP ... sintassi simile .. – Adam

+2

Questo non ha molto senso. Penso che tu stia confondendo [JavaScript (un linguaggio di programmazione)] (http://en.wikipedia.org/wiki/Javascript) e [jQuery (una libreria JavaScript)] (http://en.wikipedia.org/wiki/ JQuery). –

risposta

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

Ciò creerà una matrice di matrici, non una matrice di tutti i membri di ogni matrice. – RobG

+0

Rob ... Ho sentito che push() è più veloce quindi concat() è vero? se così può essere fatto con push? – Adam

+0

Push dovrebbe eseguire iterazioni su tutti i membri di ciascun array, quindi dubito che sarebbe più veloce. Probabilmente però più ovvio per i manutentori. – RobG

21

Stai cercando il metodo JavaScript (vaniglia) Array.concat().

Restituisce una nuova matrice composta da questo array unito con altri array e/o valore (i).

esempio, dopo il codice:

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

Direi che questo è esattamente ciò che l'OP significa. – karim79

2

si può fare invece con .concat().

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

Dato che su altro ha postato:

var chatCenterMembers = activeMembers.concat(noactiveMsg, noactiveNomsg); 
Problemi correlati