两个数组的对象将成为具有相同长度的新数组,但来自原始数组的所有数据

我有两个数组中有相同数量的对象。 我想把每个数组的第一个对象,并把它们放在一个新的数组作为数组中的第一个对象。 然后我想继续做下面的事情。

var a = [{akey: 'something'}, {bkey: 'somethingelse'}]; var b = [{ckey: 'somethinghere'}, {dkey: 'somethingdiffrent'}]; //some-code-here to make the below part. var newArray = [{akey: 'something', ckey: 'somethinghere'}, {bkey: 'somethingelse', dkey: 'somethingdiffrent'}]; 

因此,我仍然拥有旧数组中对象的数据,但将两个新对象组合在一个新数组中。 除了重复的密钥,它们可以被覆盖,如下所示:

 {aKey: 'data'} + {aKey: 'data'} whould just be {aKey: 'data'} 

希望这是有道理的,数组将是相同的长度,a.length = b.length,但是对象可能在不同的意义上。 最后一个数组将被放在ng-repeat(angular度项目)上。

您可以使用Object.assign来组合对象,并使用Array#map来映射数组。

 var a = [{akey: 'something'}, {bkey: 'somethingelse'}, { foo: 'from a' }], b = [{ckey: 'somethinghere'}, {dkey: 'somethingdiffrent'}, { foo: 'from b' }], c = a.map(function (el, i) { return Object.assign({}, el, b[i]); }); console.log(c); 
 .as-console-wrapper { max-height: 100% !important; top: 0; }