一尘不染

合并两个匹配ID的数组

angularjs

我有两个数组

var members = [{docId: "1234", userId: 222}, {docId: "1235", userId: 333}];
var memberInfo = [{id: 222, name: "test1"}, {id: 333, name: "test2"}];

我需要将此合并到以编程方式匹配用户ID的单个数组

最终的数组应该像

var finalArray = [{docId: "1234", userId: 222, name: "test1"}, {docId: "1235", userId: 333, name: "test2"}]

有没有一种更清洁的方法来执行此操作,我的应用程序中有下划线库,但是我找不到一种干净的方法来实现此目的


阅读 249

收藏
2020-07-04

共1个答案

一尘不染

使用下划线的解决方案:

var finalArray = _.map(members, function(member){
    return _.extend(member, _.omit(_.findWhere(memberInfo, {id: member.userId}), 'id'));
});
  1. _.map 跨成员
  2. 使用 _.findWhere 查找匹配的成员信息 ****
  3. _。省略 匹配成员信息中的ID密钥
  4. _。 使用会员信息 扩展 会员
2020-07-04