
利用javascript数组实现id匹配数据合并
本文介绍如何高效地将两个JavaScript数组A和B根据ID进行匹配和数据合并。数组A包含id字段,数组B包含cid和des字段。目标是创建一个新数组,其中每个元素包含A数组中id对应的元素及其在B数组中所有匹配的cid元素信息。
问题分析与解决方案
我们需要遍历数组A,对于A中的每个元素,在数组B中查找cid与A中id匹配的元素,并将匹配结果添加到A元素中。 以下代码实现了这一功能:
let a = [{id:1},{id:2}];let b = [{cid:1, des:"1"},{cid:1, des:"11"},{cid:2, des:"2"}];let c = a.map(itemA => { const matchingItems = b.filter(itemB => itemB.cid === itemA.id); return { ...itemA, matchedData: matchingItems };});console.log(c);
这段代码首先定义了数组 a 和 b。map 函数遍历数组 a,对于每个 itemA,filter 函数筛选出 b 数组中 cid 与 itemA.id 相匹配的元素,并将这些匹配元素作为 matchedData 属性添加到 itemA 中,最终形成新的数组 c。
立即学习“Java免费学习笔记(深入)”;
这个方法清晰地展示了数据合并的过程,利用了JavaScript内置的map和filter函数,提高了代码的可读性和效率。 最终结果 c 是一个数组,每个对象包含 id 和一个 matchedData 属性,该属性包含所有与该 id 匹配的 b 数组元素。
以上就是JavaScript数组如何根据ID匹配合并数据?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1563211.html
微信扫一扫
支付宝扫一扫