2013-11-20 62 views
0

我想將幾個數組添加到Javascript中的一個數組中。看來我的方式不夠好。假設我們有如下三個陣列:如何在Javascript中添加兩個數組到一個數組中

var array_1 = [{"a" : 1, "b" : 2, "c" : 3}]; 
var array_2 = [{"d" : 4, "e" : 5, "f" : 6}]; 
var array_3 = new Array(); 

我想將array_1和array_2分別添加到array_3中。舉例來說,我想確保array_1完全加入,然後再如下array_2:

{"a" : 1, "b" = 2, "c" = 3"} 
{"d" : 4, "e" = 5, "f" = 6"} 

任何人都可以請幫我這一段代碼。非常感謝您的幫助。

+0

'array_3.push(array1)' - push'array2' after? – tymeJV

+0

請參閱'Array.prototype.concat' – megawac

+2

是否有什麼特別的原因,爲什麼你的數組只有一個元素? – Tibos

回答

1
var array_3 = array_1.concat(array_2); 
0

你要求的是Array.prototype.concat它將兩個數組(或更多)組合成一個新的數組。所有你需要的是:

var array_3 = array_1.concat(array_2); 
1

你有你的陣列設置的方式是非常奇怪的。你有兩個數組,每個數組有1個元素,而這個元素是一個Object,有3個屬性。您列出的輸出實際上是無效的JavaScript或JSON語法。但是,我可以讓你接近你想要的東西,我想......

var array_1 = [{"a" : 1, "b" : 2, "c" : 3}]; 
var array_2 = [{"d" : 4, "e" : 5, "f" : 6}]; 
var array_3 = new Array(); 

function merge_objects(obj1,obj2){ 
    var obj3 = {}; 
    for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; } 
    for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; } 
    return obj3; 
} 

array_3[0] = merge_objects(array_1[0], array_2[0]); 
相關問題