我有一项服务生成类似于三元组的对象。它们将采用以下格式:
{ country, attribute, value }
Example:
{ country: 'usa', attribute: 'population', value: 100 }
{ country: 'mexico', attribute: 'population', value: 200 }
{ country: 'usa', attribute: 'areaInSqM', value: 3000 }
最终我想将它们显示为表格。行是国家/地区,列是属性。所以表格看起来像:
| country | population | areaInSqM |
| usa | 100 | 3000 |
| mexico | 200 | |
我的假设(可能是错误的)是我需要创建一个中间数据结构,它是一个行数组。例如:
[ { country: 'usa', population: 100, areaInSqM: 3000 }, .... ]
我当前的解决方案是一个非 RxJS 混乱的对象,其中存储包含每个属性类型的 Set,存储按国家/地区索引的查找对象,最后将查找对象转换回上面的数组。我希望避免大量循环和双重存储。
RxJS 有任何运算符可以帮助执行此类操作吗?
有更聪明的方法吗?
在这种特殊情况下,假设是:
- 属性提前未知
- 这些值始终是数字
- 给定的“单元格”可以为空。在此示例中,从未提供 mexico areaInSqM
Edit:解决方案:https://plnkr.co/edit/FVoeVmmzMN7JGJ3zWFQM?p=preview https://plnkr.co/edit/FVoeVmmzMN7JGJ3zWFQM?p=preview