的JavaScript.像SQL一样加入2组对象的最佳方法?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了的JavaScript.像SQL一样加入2组对象的最佳方法?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1133字,纯文字阅读大概需要2分钟。
内容图文
![的JavaScript.像SQL一样加入2组对象的最佳方法?](/upload/InfoBanner/zyjiaocheng/908/cfa92e2bdea24b2b9f630f161b4f003b.jpg)
我们假设我们有两组对象
set1 = [{'id':'1', 'x':'1', 'y':'2'}, {'id':'2', 'x':'2', 'y':'2'}]
set2 = [{'id':'1', 'z':'1'}, {'id':'2', 'z':'2'}]
我们想要:
set3 = set1.join(set2).on('id');
>> set3
[{'id':'1', 'x':'1', 'y':'2', 'z':'1'},{'id':'2', 'x':'2', 'y':'2', 'z':'2'}]
什么是实现此功能的正确工具?
5月underscore在这里帮忙吗?
解决方法:
选项1,普通的js
我建议您将每个列表转换为ID设置,例如
{1: {x: 1, y: 1}, 2: {x: 2, y: 2}}
然后运行一个(或两个)集合并创建一个包含这两个属性的新字典 – 后一位取决于您是在寻找内部连接还是外部连接.这应该导致大致线性的运行时,字典的javascript实现非常有效.
使用_.zip()的密集id集的选项2,下划线
如果id是相对密集的并且你想要外连接或事先知道id的集合是完全相同的,另一种选择是将数据填充到三个数组中 – 每个属性一个然后使用下划线的zip () 方法.
选项3,下划线,使用_.groupBy()
另一种可能性是使用自定义比较方法在列表上运行_.groupBy(),这也允许连接多个键.但是,需要进行一些简单的后处理,因为直接结果将是表单的字典
{1: [{'id':'1', 'x':'1', 'y':'2'}, {'id':'1', 'z':'1'}],
2: [{'id':'2', 'x':'2', 'y':'2'}, {'id':'2', 'z':'2'}]}
在后一种情况下的内部联接行为可以通过过滤掉在列表中没有最大项目数的结果字典中的那些项目来实现(在示例中为2).
内容总结
以上是互联网集市为您收集整理的的JavaScript.像SQL一样加入2组对象的最佳方法?全部内容,希望文章能够帮你解决的JavaScript.像SQL一样加入2组对象的最佳方法?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。