我需要对从服务器端获取的数组执行Min和Max操作。
我是rxjs扩展的新手,但这些库实际上意味着观察集合的变化,但在我的情况下,它只是对集合的一次性计算,没有进一步改变,然后直到我做服务器端刷新数据
我只是想使用正确的工具来做正确的工作,因此我想在这里使用rxjs是正确的还是在飞行中用炸弹射击?
或者我应该使用像https://github.com/ENikS/LINQ
这样的库获取集合的最小/最大值?
答案 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只能查询数组类型。