首页 > 解决方案 > RxJs 有没有可能解决这种数据透视表问题

问题描述

我是 RxJs 的新手。是否有可能解决这种类型的数据透视表问题。

假设我有一个包含任意数量项目的流。

因为我们有随机数量的项目并且因为数字以随机顺序到达,所以列将具有不同的高度。

如何对流进行操作以一一生成表的行以显示表?

更新

使用 Fan Cheung 解决方案(如下所述),很容易使用 RxJs 生成列。但是是否也可以随后使用 RxJs 生成行(行数组)以便能够呈现如下所示的表格?

数据透视表结果

柱子有不同的高度。

标签: google-cloud-firestorerxjsrxfire

解决方案


更像是一个数组问题

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
},[]))

推荐阅读