简体   繁体   English

如何在 JS 中使用流

[英]How to use streams in JS

I want to manipulate arrays in JS in a similar fashion with Java Streams .我想以与Java Streams类似的方式在 JS 中操作 arrays 。

So所以

arr.map().map().map()

Will do only one iteration.只会做一次迭代。

How can I achieve that without a library?没有图书馆我怎么能做到这一点?

This is similar to LINQ in DotNet.这类似于 DotNet 中的 LINQ。 And there are a lot of library that do that for you already.并且已经有很多图书馆可以为您做到这一点。

You might want to check out linq.js.您可能想查看 linq.js。 It follows the .NET lambda syntax and looks to be well integrated in a Microsoft environment.它遵循 .NET lambda 语法,看起来可以很好地集成到 Microsoft 环境中。

LINQ for JavaScript - LINQ 用于 JavaScript -

Pros优点

  • Implements all .NET 4.0 methods Complete lazy evaluation Full实现所有 .NET 4.0 方法完成惰性评估完整
  • IntelliSense support for VisualStudio Supports jQuery Supports对 VisualStudio 的 IntelliSense 支持 支持 jQuery 支持
  • Windows Script Host Binding for Reactive Extensions for Windows 用于响应式扩展的脚本主机绑定
  • JavaScript(RxJS) and IntelliSense Generator NuGet install support JavaScript(RxJS) 和 IntelliSense 生成器 NuGet 安装支持
  • Updated recently (last release Jan 2011) Syntax conforms to lambda最近更新(2011 年 1 月最后一次发布)语法符合 lambda
  • syntax in C# C# 中的语法

Cons缺点

  • The linq.js library is a little large. linq.js 库有点大。
  • If you are already using jQuery or other js library, the most commonly used functionality is probably already available.如果您已经在使用 jQuery 或其他 js 库,那么最常用的功能可能已经可用。 See especially jQuery's filter, and 'Any' methods.尤其参见 jQuery 的过滤器和“任何”方法。

Others Similarly Library are:其他类似的库是:

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM