为了账号安全,请及时绑定邮箱和手机立即绑定

按值合并2个JS对象数组

按值合并2个JS对象数组

慕虎7371278 2021-04-16 18:15:32
问题我有两个需要合并的对象的Javascript数组。我需要通过匹配每个数组中包含的单个key:value对的唯一值来合并。我要合并的值的键不同我想添加键:基于匹配的唯一值,将数组2中的值对添加到数组1中的正确对象。array1.user和array2._id的值是我需要匹配的值。数组const array1 = [ { _id: 5c6c7132f9bf4bdab9c906ff,    user: 5c65d9438e4a834c8e85dd7d },  { _id: 5c6ccd6d3a0dc4e4951c2bee,    user: 5c65d9438e4a834c8e85dd7e } ]const array2 = users [ { _id: 5c65d9438e4a834c8e85dd7d,    info: { name: 'John', city: 'New York' } },  { _id: 5c65d9438e4a834c8e85dd7e,    info: { name: 'Paneer', city: 'San Fran' } } ]我尝试过的我已经试过像这样使用lodash的_.map和_.extend函数,但是我对lodash并不陌生,它没有给我适当的输出  const mergedArray = _.map(array1, function(item){    return _.extend(item, _.find(array2, {_id: item.user}));  });结果mergedArray [ { _id: 5c65d9438e4a834c8e85dd7d,    info: { name: 'John', city: 'New York' } },  { _id: 5c65d9438e4a834c8e85dd7e,    info: { name: 'Paneer', city: 'San Fran' } }]所需结果const mergedArray = [ { _id: 5c6c7132f9bf4bdab9c906ff,    user: 5c65d9438e4a834c8e85dd7d,    info: { name: 'John', city: 'New York' } } ,  { _id: 5c6ccd6d3a0dc4e4951c2bee,    user: 5c65d9438e4a834c8e85dd7e,     info: { name: 'Paneer', city: 'San Fran' } } ]
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信