Java Streams API的Javascript等价物

时间:2017-04-14 08:34:31

标签: javascript java functional-programming java-stream

我喜欢Java 8的流媒体API。有许多有用的中间和终端方法来转换和收集流。我在谈论像distinct()这样的中间方法或像collect()这样的终端方法。我发现Collector API特别有用,可以将流缩减为深度分组映射。

Java流API的javascript等价物是什么?我知道有mapfilterreduce等基本功能,但是没有找到javascript native提供的任何更通用的接口来查询或分组集合中的数据。是否有一些生产就绪库可以匹配Java Streaming API?

2 个答案:

答案 0 :(得分:7)

java 8 stream()与lodash chain()

相同

java 8 collect()与lodash value()

相同

java 8 distinct()与lodash uniq()

相同

java 8 map()与lodash map()

相同

lodash更全面,因为它已存在更长时间。

答案 1 :(得分:1)

从api级别来看,lodash / RxJS / stream.js可能满足要求,但是Java Stream的强大之处在于它可以利用现代cpu多核体系结构来并行化作业。但是,所有这些纯js库都无法解决此问题,但最终,这些js仍在单线程运行时中运行,并且同时具有1种核心用法。

我猜想JS引擎需要提供支持以实现性能目标。