我需要对从服务器端获取的数组执行Min和Max操作。
我是rxjs扩展的新手,但这些库实际上是为了观察集合的变化,但在我的情况下,它只是对集合的一次性计算,在我对数据进行服务器端刷新之前不会进一步更改。
我只想在正确的工作中使用正确的工具,所以我问在这里使用rxjs是正确的,还是在飞行中使用炸弹射击?
或者我应该使用像https://github.com/ENikS/LINQ
以获取集合的最小值/最大值?
有一个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上的工作示例。
https://github.com/ENikS/LINQ使用所有最新的语言功能,理论上比IxJS快得多。IxJS上的最后一次编辑是3年前。(ECMA-262/6.0/)介绍了一些非常重要的进步和速度改进。它还更好地符合标准LINQ API,可以对实现可迭代项的任何集合进行操作,包括字符串、映射、类型化数组等。IxJS只能查询数组类型。