【发布时间】:2020-07-10 23:26:32
【问题描述】:
我有两个对象数组:
const arr1 = [ {key: '12', name: 'john'}, {key: '9', name: 'steve'}, {key: '4', name: 'harry'}, {key: '2', name: 'jane'} ];
const arr2 = [ {key: '12', age: '29', gender: 'm'}, {key: '9', age: '43', gender: 'm'}, {key: '4', age: '19', gender: 'm'}, {key: '2', age: '65', gender: 'f'} ];
arr1 将始终包含与arr2 相同数量的对象,并且key 属性将始终保持一致,例如在上面的示例中,键 '12', '9', '4', '2' 出现在两个数组中。
我正在寻找一种有效的方法,将arr1 中每个对象的name 属性添加到arr2 中key 属性具有相同值的对象中。以上是一个简化的示例,在我的用例中,两个数组都可能包含 300 多个对象。
预期结果:
arr3 = [ {key: '12', age: '29', gender: 'm', name: 'john'}, {key: '9', age: '43', gender: 'm', name: 'steve'}, {key: '4', age: '19', gender: 'm', name: 'harry'}, {key: '2', age: '65', gender: 'f', name 'jane'} ];
我可以通过一个嵌套循环来实现这一点,该循环遍历arr1 中的每个对象并检查arr2 中的每个对象,但我想知道是否有一种简化/更有效的方法使用最近的一些函数ECMAScript 的版本(我还在学习)。
【问题讨论】:
标签: javascript arrays ecma