2011-08-19 27 views
10

Tôi có 3 mảng riêng biệt và tôi đang tìm cách tải chúng vào một mảng duy nhất. Tôi có thể sử dụng .push() nhiều mảng thành một không? Có phải bất cư thứ gì như thế này đều được?Có thể chuỗi array.push() trong Javascript không?

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ó cách nào để chuỗi .push() không?

+4

gì này có liên quan gì với jQuery? –

+0

Oh ... Tôi chỉ làm điều này trong JQUERY ... Tôi đoán nó có thể là PHP ... cú pháp tương tự .. – Adam

+2

Điều đó không làm cho rất nhiều ý nghĩa. Tôi nghĩ bạn đang bối rối [JavaScript (ngôn ngữ lập trình)] (http://en.wikipedia.org/wiki/Javascript) và [jQuery (thư viện JavaScript)] (http://en.wikipedia.org/wiki/ JQuery). –

Trả lời

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

Điều đó sẽ tạo ra một mảng các mảng, không phải là một mảng của tất cả các thành viên của mỗi mảng. – RobG

+0

Rob ... Tôi đã nghe push() nhanh hơn sau đó concat() là đúng? nếu như vậy nó có thể được thực hiện với push? – Adam

+0

Đẩy sẽ cần phải lặp qua tất cả các thành viên của mỗi mảng, vì vậy tôi nghi ngờ nó sẽ nhanh hơn. Có lẽ rõ ràng hơn để bảo trì mặc dù. – RobG

21

Bạn đang tìm phương pháp JavaScript (vanilla) Array.concat().

Trả lại mảng mới bao gồm mảng này được kết hợp với (các) mảng và/hoặc giá trị khác.

Ví dụ, sau mã của bạn:

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

Tôi có thể nói đây chính là ý nghĩa của OP. – karim79

2

Bạn có thể làm điều đó thay vì với .concat().

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

Kể từ khi về ai khác đã đăng nó:

var chatCenterMembers = activeMembers.concat(noactiveMsg, noactiveNomsg); 
Các vấn đề liên quan