Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中,如何将一个对象数组与另一个对象数组合并?_Javascript_Arrays_Json_Object - Fatal编程技术网

在JavaScript中,如何将一个对象数组与另一个对象数组合并?

在JavaScript中,如何将一个对象数组与另一个对象数组合并?,javascript,arrays,json,object,Javascript,Arrays,Json,Object,在循环中,我尝试合并两个数组的内容: var myArray = [{a:"a"},{b:"b"}];//first pass in loop var myArray = [{c:"c"},{d:"d"}];//second pass in loop 对于结果,我希望有以下内容: results = [{a:"a"},{b:"b"},{c:"c"},{d:"d"}]; 如果我每次都这样做: results.splice(0,0,array[i]); 然后,results数组成为两个数组的集

在循环中,我尝试合并两个数组的内容:

var myArray = [{a:"a"},{b:"b"}];//first pass in loop
var myArray = [{c:"c"},{d:"d"}];//second pass in loop
对于结果,我希望有以下内容:

results = [{a:"a"},{b:"b"},{c:"c"},{d:"d"}];
如果我每次都这样做:

results.splice(0,0,array[i]);
然后,
results
数组成为两个数组的集合,而不是四个对象的集合

我试过
.concat
,但没有成功

有没有一种方法可以在不使用
for()
push()
组合的情况下,将包含一个对象数组的对象与另一个对象数组合并

我一定错过了一些简单的事情


谢谢

事实上,康卡特是正确的选择 在您的示例中,定义myarray两次。希望代码中不是这样。当我尝试

var myArray1 = [{a:"a"},{b:"b"}];
var myArray2 = [{c:"c"},{d:"d"}];
var result = myarray1.concat(myarray2);

这一定行得通。如果没有,请在您的浏览器中显示这三行的结果实际上concat是正确的方法 在您的示例中,定义myarray两次。希望代码中不是这样。当我尝试

var myArray1 = [{a:"a"},{b:"b"}];
var myArray2 = [{c:"c"},{d:"d"}];
var result = myarray1.concat(myarray2);

这一定行得通。如果没有,请在您的浏览器中显示这三行的结果,Moataz有您的答案,但您提到了一个循环,因此您可能正在寻找:

var result = [];
var myArray;

for (...) {
  myArray = /* getMyArray()? */
  result = result.concat(myArray);
}

其中,
myArray
每次设置为新值。您可以通过在
concat
表达式中将数组分配给
myArray
的逻辑删除一行。

Moataz有您的答案,但您提到了一个循环,因此您可能在寻找:

var result = [];
var myArray;

for (...) {
  myArray = /* getMyArray()? */
  result = result.concat(myArray);
}

其中,
myArray
每次设置为新值。您可以通过在
concat
表达式中将数组分配给
myArray
的逻辑来删除一行。

@Dennis--这看起来效率很低,因为我只需要将两个集合合并。否?无论你做什么,最终都会成为一个“赞成/推动”的核心。您也不清楚“concat不起作用”的含义,显然,concat不起作用,因为我试图将
myArray
的第一次迭代与空数组合并。我不知道这是不可能的。在添加了一些简单的逻辑以仅调用
concat
如果
结果
数组中有项,否则设置
结果
=
myArray
,一切正常。谢谢。@Dennis——这看起来效率很低,因为我需要做的就是合并这两个集合。否?无论你做什么,最终都会成为一个“赞成/推动”的核心。您也不清楚“concat不起作用”的含义,显然,concat不起作用,因为我试图将
myArray
的第一次迭代与空数组合并。我不知道这是不可能的。在添加了一些简单的逻辑以仅调用
concat
如果
结果
数组中有项,否则设置
结果
=
myArray
,一切正常。谢谢