简体   繁体   English

合并2个JavaScript对象数组

[英]Merge 2 arrays of JavaScript objects

Lets say I have 2 arrays of objects and I want to merge their objects in parallel manner. 可以说我有2个对象数组,我想以并行方式合并它们的对象。 For example 例如

var array = [{foo: 2} , {boo: 3}]
var array2 = [{foo2: 2}, {boo2: 4}]

The result will be 结果将是

var array3 = [{foo:2,foo2:2},{boo:3,boo2:4}]

How can I do it in javascript? 如何在javascript中完成?

您可能要使用Array.prototype.mapObject.assign进行合并。

array.map((obj,index) => Object.assign(obj,array2[index]));

You should look a lodash: 您应该看起来有点破旧:

 var users = { 'data': [{ 'user': 'barney' }, { 'user': 'fred' }] }; var ages = { 'data': [{ 'age': 36 }, { 'age': 40 }] }; _.merge(users, ages); // → { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] } 

Lodash doc for merge Lodash合并文档

You can traverse through one array and pick one item and pick the item from the another array and then merge them. 您可以遍历一个数组并选择一个项目,然后从另一个数组中选择该项目,然后合并它们。

 var array = [{foo: 2} , {boo: 3}]; var array2 = [{foo2: 2}, {boo2: 4}]; var _o = array.map(function(obj1, i){ var obj2 = array2[i]; for (var attrname in obj2) { obj1[attrname] = obj2[attrname]; } return obj1; }); // _o is the final array alert(JSON.stringify(_o)); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM