如何通过键值匹配合并两个结构不同的数组?

如何通过键值匹配合并两个结构不同的数组?

基于键值匹配合并两个数组

我们有两个数组 a 和 b,它们具有不同的键值对结构。问题是如何判断 a 数组的 value 和 b 数组的 key 是否相同,并组成一个新的数组,其中 b 数组的键和 a 数组的值合并到一起。

解决方案:

我们可以使用 JavaScript 的 map() 和 find() 方法来实现此操作:

function getData(a, b) {    var list = b.map(item => {        var obj = a.find(i => Object.keys(item).includes(i.key)) || {}        return {...obj, ...item}            })    return list}

解释:

map():循环遍历 b 数组的每一项并对其执行以下操作:

find():检查 a 数组中是否包含一个对象的 key 与 b 数组中的当前项的键匹配。如果找到,则存储该对象。解构运算符(…):将 b 数组中当前项和 a 数组中匹配项合并成一个新对象。list:一个包含合并后的新对象的数组。

最终得到的 c 数组将包含合并自 a 和 b 数组的键值对,符合所期望的预期结果。

以上就是如何通过键值匹配合并两个结构不同的数组?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1558149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月22日 03:33:43
下一篇 2025年12月22日 03:34:02

相关推荐

发表回复

登录后才能评论
关注微信