首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >RxJS将三元组的属性组合到表中

RxJS将三元组的属性组合到表中
EN

Stack Overflow用户
提问于 2017-04-10 12:50:35
回答 1查看 194关注 0票数 2

我有一个产生类似三元组的对象的服务。它们将采用这种格式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ country, attribute, value }

示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{ country: 'usa',    attribute: 'population', value: 100 }
{ country: 'mexico', attribute: 'population', value: 200 }
{ country: 'usa',    attribute: 'areaInSqM',  value: 3000 }

最后,我想把这些显示成一张桌子。行是国家,列是属性。所以这张桌子看起来像:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
| country | population | areaInSqM |
| usa     | 100        | 3000      |
| mexico  | 200        |           |

我的假设(可能是错误的)是,我需要创建一个中间数据结构,它是一个行数组。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[ { country: 'usa', population: 100, areaInSqM: 3000 }, .... ] 

我目前的解决方案是一个非RxJS混乱的对象,其中我存储一个包含每个属性类型的集合,存储一个按国家索引的查找对象,并在最后将查找对象转换回上述数组。很多循环和双储藏室,我宁愿避免。

RxJS是否有任何帮助这类操作的操作员?

有没有更聪明的方法?

在这种情况下,假设是:

  • 这些属性是不知道的。
  • 这些值总是数字的。
  • 给定的“单元格”可以为空。在本例中,从未提供墨西哥areaInSqM。

编辑: Plunkr与解决方案:https://plnkr.co/edit/FVoeVmmzMN7JGJ3zWFQM?p=preview

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 14:05:48

在您的问题中有两个组件,数据结构部分和数据流部分(我假设您将这些数据作为一个流,即一个一个地得到,这就是您使用Rxjs的原因)。

迭代构建数据结构的一个简单方法是使用scan运算符。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myDataStructure$ = dataSource$.scan(function (accDataStructure, triple){
  accDataStructure[triple.country] = accDataStructure[triple.country] || {}
  accDataStructure[triple.country][triple.attribute] = accDataStructure[triple.country][triple.attribute] || {}
  accDataStructure[triple.country][triple.attribute] = triple.value
  return accDataStructure
}, {})

这就假设dataSource$生成形状为{ country, attribute, value }的对象。然后,myDataStructure$将为每一个传入的数据输出您正在寻找的迭代构建的数据结构。如果您只希望该数据结构在构建完成后,只需向.last()添加一个myDataStructure$即可。

这是没有测试的,所以请告诉我这是否有效。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43332674

复制
相关文章
三元组损失
春恋慕三元组损失(Triplet loss)是一种被广泛应用的度量学习损失,是在研究度量学习时的重点,今天来深入探究一下关于三元组损失的概念和原理。
月梦@剑心
2022/09/14
2.2K0
三元组损失
递增三元组
本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。 #include<iostream> using namespace std; int arrA[100005]; int arrB[100005]; int arrC[100005]; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ cin>>arrA[i]; } for(int i=0;i<n;i++){ cin>>arrB[i]; } for(int i=0
Yuyy
2022/06/28
2170
LeetCode 1899. 合并若干三元组以形成目标三元组
三元组 是一个由三个整数组成的数组。 给你一个二维整数数组 triplets ,其中 triplets[i] = [ai, bi, ci] 表示第 i 个 三元组 。 同时,给你一个整数数组 target = [x, y, z] ,表示你想要得到的 三元组 。
Michael阿明
2021/09/06
3630
信息抽取:SPO三元组知识
本次任务使用的SKE数据集是业界规模最大的基于schema的中文信息抽取数据集,其包含超过43万三元组数据、21万中文句子及50个已定义好的schema,表1中展示了SKE数据集中包含的50个schema及对应的例子。数据集中的句子来自百度百科和百度信息流文本。数据集划分为17万训练集,2万验证集和2万测试集。其中训练集和验证集用于训练,可供自由下载。
机器学习AI算法工程
2019/10/28
3.5K0
信息抽取:SPO三元组知识
使用Pytorch实现三元组损失
三元组损失(Triplet loss)函数是当前应用较为广泛的一种损失函数,最早由Google研究团队在论文《FaceNet:A Unified Embedding for Face Recognition》所提出,Triplet loss的优势在于细节区分,即当两个输入相似时,Triplet loss能够更好地对细节进行建模,相当于加入了两个输入差异性差异的度量,学习到输入的更好表示。
deephub
2021/10/09
2.4K0
使用Pytorch实现三元组损失
数据结构:三元组的定义(考研)
注意:三元组在存储稀疏矩阵时,只有当稀疏矩阵的稀疏因子小于33%时,采用三元组存储才是节省空间的。
lexingsen
2022/02/24
7030
AcWing 2455 合法三元组的个数 Solution
给定三个数组 A, B, C,以及一个非负整数 d。求共有多少个三元组 (i, j, k),满足 ... 输出一个整数,用来表示满足条件的三元组的个数。
Skykguj
2022/09/09
5980
LC 1995. 统计特殊四元组(哈希表)
也可以使用哈希表,逆序遍历c,把每个d可能的数都存入哈希表中,然后判断a + b + c是否能在哈希表中找到对应的值。 可以用数组代替哈希表
SakuraTears
2022/01/13
2640
LC 1995. 统计特殊四元组(哈希表)
如何求最小三元组距离
题目描述:   已知三个升序整数数组a[l], b[m]和c[n]。请在三个数组中各找一个元素,使得组成的三元组距离最小。   三元组的距离定义是:假设a[i]、b[j]和c[k]是一个三元组,那么距离为:Distance = max(|a[i]–b[j]|,|a[i]–c[k]|,|b[j]–c[k]|)请设计一个求最小三元组距离的最优算法,并分析时间复杂度。 关键公式:max(|a[i]–b[j]|,|a[i]–c[k]|,|b[j]–c[k]|) = (abs(a[i]-b[j])+abs(a[i]
mukekeheart
2018/02/27
1.5K0
LeetCode 1534. 统计好三元组
给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。
Michael阿明
2021/02/19
3800
LeetCode 1534. 统计好三元组
给你一个整数数组 arr ,以及 a、b 、c 三个整数。请你统计其中好三元组的数量。
Yano_nankai
2021/02/24
6410
LeetCode 1534. 统计好三元组
将Azure Application Insights的数据整合到你自己的应用中
微软智慧云Azure有一个非常强大的监视工具, 称为Application Insights。它可以监视我们Web应用程序的各个方面,包括客户端和服务器指标、错误详细信息、性能等。我的博客也在使用Application Insights,但每次我想要查看数据时, 我都必须转到Azure门户,即使是PV或服务器响应时间等基本指标也是如此。我希望我能在自己的应用程序中的获取这些数据,并仅将Azure门户用于高级分析方案。本文将给出解决方案。
Edi Wang
2019/07/15
1.6K0
将Azure Application Insights的数据整合到你自己的应用中
基于三元组知识图谱的简易问答系统
基于知识图谱的问答系统很难直接回答自然文本状态的问题,所以我们要把问题转化为一定的结构。一个很好的选择就是三元组:
blmoistawinde
2019/10/30
2.6K0
程序设计-寻找三数之和为零的三元组(Java)
分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net
全栈程序员站长
2022/09/10
2480
css属性与js中style对象的属性对应表
css属性与js中style对象的属性对应表 CSS语法(不区分大小写) JavaScript语法(区分大小写) border border border-bottom borderBottom border-bottom-color borderBottomColor border-bottom-style borderBottomStyle border-bottom-width borderBottomWidth border-color borderColor border-left borderL
黑泽君
2018/10/11
7.6K0
2018 年蓝桥杯B组 递增三元组--------------C语言—菜鸟级
给定三个整数数组 A = [A1, A2, … AN], B = [B1, B2, … BN], C = [C1, C2, … CN], 请你统计有多少个三元组(i, j, k) 满足:
Fivecc
2022/11/21
2700
ArcGIS中属性表的常用操作汇总
本篇文章将平时对arcgis属性表的相关操作记录下来,防止忘记。此外,在技术摸索中参考了一些gis大牛的博客和技术分享,我在博客结尾也粘贴了他们的博客地址在此表示感谢。
陈南GISer
2021/08/18
5.5K0
Qt Designer中的QWidget属性表介绍
2、disambiguation消除歧义(澄清):这是当有多个需要翻译文字的对象有相同文字时,避免出现歧义而额外添加的消除歧义字符,缺省为空,一般歧义字符设置为其所在对象对应类的名字,此消歧参数是为转换器指定注释的首选方法。
Elsa_阿尼
2021/07/20
11.4K0
Qt Designer中的QWidget属性表介绍
欧拉计划——特殊毕达哥拉斯三元组
有且只有一个毕达哥拉斯三元组满足 a + b + c = 1000。求这个三元组的乘积abc。
lop
2019/03/13
6260
LeetCode 1925. 统计平方和三元组的数目
一个 平方和三元组 (a,b,c) 指的是满足 a2+b2=c2 的 整数 三元组 a,b 和 c 。
Michael阿明
2021/09/06
2780

相似问题

三元组中的三元组

23

连接三元组中的多个表

01

将元组元素组合到列表中

12

将OpenIE三元组转换为N-三元组(NT)

10

生日登记表三元组

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文