合并两个匹配 id 的数组 [英] Merge two arrays matching an id
本文介绍了合并两个匹配 id 的数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个数组,比如
var members = [{docId: "1234", userId: 222}, {docId: "1235", userId: 333}];
var memberInfo = [{id: 222, name: "test1"}, {id: 333, name: "test2"}];
我需要以编程方式将其合并到与用户 ID 匹配的单个数组中
I need to merge this to a single array programatically matching the user ids
最终的数组应该是这样的
The final array should be like
var finalArray = [{docId: "1234", userId: 222, name: "test1"}, {docId: "1235", userId: 333, name: "test2"}]
有没有更干净的方法来做到这一点,我的应用程序中有下划线库,但我找不到一种干净的方法来实现这一点
Is there a cleaner way to do this, I have underscore library in my app, but I couldn't find a clean method to achieve this
推荐答案
使用下划线的解决方案:
A solution using underscore:
var finalArray = _.map(members, function(member){
return _.extend(member, _.omit(_.findWhere(memberInfo, {id: member.userId}), 'id'));
});
- _.map 跨成员
- 使用_.findWhere 查找匹配的成员信息
- _.omit 匹配成员信息中的 id 键
- _.extend 具有会员信息的会员
这篇关于合并两个匹配 id 的数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文