我有一个严格的要求需要你的建议。
我有2个阵列:
var array1 = [{ 'x': 1, 'z': 2 }, { 'x': 2, 'z': 1 }];
var array2 = [{ 'x': 1, 'y': 1 }, { 'x': 2, 'y': 3 }];
要求:将2个数组合并为一个格式为:
[{ 'x': 1, 'y': 1, 'z': 2 }, { 'x': 2, 'y': 3 , 'z': 1 }]
我已浏览过lodash图书馆,其功能包括' merge'或者' union'不为此目的服务。
欢迎并赞赏任何解决方案
答案 0 :(得分:1)
尝试以下
var array1 = [{ 'x': 1, 'z': 2 }, { 'x': 2, 'z': 1 }];
var array2 = [{ 'x': 1, 'y': 1 }, { 'x': 2, 'y': 3 }];
let result = array1.map((o,i) => ({...o, ...array2[i]}));
console.log(result);
答案 1 :(得分:1)
您可以使用Object.assign
映射新对象。
var array1 = [{ 'x': 1, 'z': 2 }, { 'x': 2, 'z': 1 }],
array2 = [{ 'x': 1, 'y': 1 }, { 'x': 2, 'y': 3 }],
result = array1.map((o,i) => Object.assign(o, array2[i]));
console.log(result);

.as-console-wrapper { max-height: 100% !important; top: 0; }