如何在Javascript中将两个数组添加到一个数组中

时间:2013-11-20 22:42:13

标签: javascript arrays object

我试图在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"}

任何人都可以帮我解决这段代码。非常感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

var array_3 = array_1.concat(array_2);

答案 1 :(得分:1)

您设置阵列的方式非常奇怪。你拥有的是2个数组,每个数组中包含1个元素,该元素是具有3个属性的Object。您列出的输出实际上是无效的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]);

答案 2 :(得分:0)

你要求的是Array.prototype.concat,它将两个数组(或更多)组合成一个新数组。您所需要的只是:

var array_3 = array_1.concat(array_2);