合并数组中的对象

Merge objects in arrays

我有两个数组:

[{Name: "Jack", Depot: "5"}, {Name: "Jill", Depot: "6"}]

[{Depot Name: "Edgware"}, {Depot Name: "Romford"}]

我需要从第二个数组中取出对象并将它们与第一个数组中的对象合并以产生结果:

[{Name: "Jack", Depot: "5", Depot Name: "Edgware"}, {Name: "Jill", Depot: "6", Depot Name: "Romford"}]

如有任何帮助,我们将不胜感激

var array1 = [{
  Name: "Jack",
  Depot: "5"
}, {
  Name: "Jill",
  Depot: "6"
}];
var array2 = [{
  'Depot Name': "Edgware"
}, {
  'Depot Name': "Romford"
}];

for (var a in array1) {
  for (var p in array1[a]) {
    //to esclude all possible internal properties
    if (array1[a].hasOwnProperty(p)) {
  array2[a][p] = array1[a][p];
    }
  }
}

console.log(array2);

这是 Object.assign() 的解决方案。

P.S: 检查浏览器兼容性,此解决方案可能不适用于 IE

var arr1 = [{
  "Name": "Jack",
  "Depot": "5"
}, {
  "Name": "Jill",
  "Depot": "6"
}];

var arr2 = [{
  "Depot Name": "Edgware"
}, {
  "Depot Name": "Romford"
}];

var arr1Copy = arr1;
var newArr = arr1Copy.map(function(v, i) {
  return Object.assign(v, arr2[i]);
});

console.log(newArr);