使用rxjs进行只读集合操作是否有缺点

时间:2016-07-19 19:35:12

标签: linq typescript rxjs

我需要对从服务器端获取的数组执行Min和Max操作。

我是rxjs扩展的新手,但这些库实际上意味着观察集合的变化,但在我的情况下,它只是对集合的一次性计算,没有进一步改变,然后直到我做服务器端刷新数据

我只是想使用正确的工具来做正确的工作,因此我想在这里使用rxjs是正确的还是在飞行中用炸弹射击?

或者我应该使用像https://github.com/ENikS/LINQ

这样的库

获取集合的最小/最大值?

2 个答案:

答案 0 :(得分:1)

有一个LINQ实现IxJS由开发RxJS的同一团队开发和维护。这可能是适合您的工具。

但是,您也可以使用RxJS。使用Rx.Observable.from([1, 2, ...])时,执行在订阅时是同步的。

我会使用IxJS:

// An array of values.. (just creating some random ones here)
const values = [2, 4, 23, 1, 0, 34, 56, 2, 3, 45, 98, 6, 3];

// Create an enumerable from the array
const valEnum = Ix.Enumerable.fromArray(values);
const min = valEnum.min();
const max = valEnum.max();

jsfiddle上的工作示例。

答案 1 :(得分:0)

https://github.com/ENikS/LINQ使用所有最新的语言功能,理论上比IxJS快得多。 IxJS的最后一次编辑已有3年历史。 (ECMA-262 / 6.0 /)引入了一些非常重要的进步和速度改进。 它还更好地符合标准LINQ API,并且可以在任何实现可迭代的集合上运行,包括字符串,映射,类型化数组等.IxJS只能查询数组类型。