2016-04-05 2 views
0

Допустим, у меня есть 2 массива объектов, и я хочу объединить их объекты параллельно. НапримерОбъединить 2 массива объектов JavaScript

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

Результат будет

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

Как я могу сделать это в JavaScript?

ответ

1

могут перемещаться через один массив и выбрать один элемент и выбрать элемент из другого массива, а затем объединить их ,

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));

1

Вы должны выглядеть 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

+1

Нельзя ли это сделать с помощью встроенных js? – Jai

+0

конечно, но вам нужно реализовать его самостоятельно, затем –

+0

, а затем почему ** lodash **? Поскольку OP не помечен lodash. – Jai

Смежные вопросы