google-cloud-firestore - RxJs 有没有可能解决这种数据透视表问题
问题描述
我是 RxJs 的新手。是否有可能解决这种类型的数据透视表问题。
假设我有一个包含任意数量项目的流。
每个项目都是 0 到 999 之间的数字。
我想从这个流中制作一张桌子。一个有 10 列的表。
- 项目的列号等于项目除以 10。因此数字 654 将转到第 6 列。
因为我们有随机数量的项目并且因为数字以随机顺序到达,所以列将具有不同的高度。
如何对流进行操作以一一生成表的行以显示表?
更新
使用 Fan Cheung 解决方案(如下所述),很容易使用 RxJs 生成列。但是是否也可以随后使用 RxJs 生成行(行数组)以便能够呈现如下所示的表格?
柱子有不同的高度。
解决方案
更像是一个数组问题
items.reduce((acc,curr)=>{
const key=Math.floor(curr/10);
if(!acc[key])
acc[key]=[]
acc[key].push(curr)
return acc
},[])
然后你应该得到一个数组(列)的数组(行)
如果您有来自流的项目,只需更改为 pipe()
items.pipe(reduce((acc,curr)=>{
const key=Math.floor(curr/10);
if(!acc[key])
acc[key]=[]
acc[key].push(curr)
return acc
},[]))
推荐阅读
- google-earth-engine - 无法在 Google 地球引擎上可视化图像
- html - 移动设备上的 Google WebApp 无法适应较小的屏幕
- java - 无法使字段公共 java.lang.String blockchain.Block.hash 可访问:模块 noobChain 不会“将区块链”“导出”到模块 gson
- java - Java 供应商<> 获取来源信息
- c++ - 为什么 sizeof() 不返回正确长度的 char 数组?
- java - 在处理来自 API 的数据时等待调用 Intent
- typescript - 打字稿通用可调用参数
- c - 如何显示最小和最大除数?
- javascript - 如何有效地验证 Javascript 函数中的所有参数?
- reactjs - ReactJS 状态数组推送问题