Stream.js入门基础知识_用流的方式来对数组,对象进行系列操作

Stream.js入门基础知识

官方网址:http://winterbe.github.io/streamjs/

Stream.js入门基础知识_用流的方式来对数组,对象进行系列操作

GitHub:https://github.com/winterbe/streamjs

简介描述:用流的方式来对数组,对象进行系列操作

streams是什么?

Streams 是一个操作简单的数据结构,很像数组或链接表,但附加了一些非凡的能力。

它们有什么特别之处?

跟数组不一样,streams是一个有魔法的数据结构。它可以装载无穷多的元素。是的,你没听错。他的这种魔力来自于具有延后(lazily)执行的能力。这简单的术语完全能表明它们可以加载无穷多的元素。

入门

如果你愿意花10分钟的时间来阅读这篇文章,你对编程的认识有可能会被完全的改变(除非你有函数式编程的经验!)。请稍有耐心,让我来先介绍一下streams支持的跟数组或链接表很类似的基本功能操作。然后我会像你介绍一些它具有的非常有趣的特性。

Stream 是一种容器。它能容纳元素。你可以使用 Stream.make 来让一个stream加载一些元素。只需要把想要的元素当成参数传进去:

var s = Stream.make( 10, 20, 30 ); // s is now a stream containing 10, 20, and 30

足够简单吧,现在 s 是一个拥有3个元素的stream: 10, 20, and 30; 有顺序的。我们可以使用s.length() 来查看这个stream的长度,用 s.item( i ) 通过索引取出里面的某个元素。你还可以通过调用 s.head() 来获得这个stream 的第一个元素。让我们实际操作一下: 

var s = Stream.make( 10, 20, 30 );    
console.log( s.length() );  // outputs 3    
console.log( s.head() );    // outputs 10    
console.log( s.item( 0 ) ); // exactly equivalent to the line above    
console.log( s.item( 1 ) ); // outputs 20    
console.log( s.item( 2 ) ); // outputs 30

本页面已经加载了这个 stream.js 类库。如果你想运行这些例子或自己写几句,打开你的浏览器的Javascript控制台直接运行就行了。 

 

 

海计划公众号
(0)
上一篇 2020/03/08 02:23
下一篇 2020/03/08 02:23

您可能感兴趣的内容

  • 整理经常在H5移动端开发遇到的知识菜鸟攻略_移动端零基础入门

    viewport、强制浏览器全屏、IOS的Web APP模式、可点击元素出现阴影(这个我觉得真没必要去掉,用户点击是需要反馈的,而这个背景色刚刚好提供了一种反馈)等等,太多啦,这些相信大家百度一下就可以查到很多资料本篇文章主要是讲一些其他的或者优化手段。内容不多1. 弹出数字键盘

    2020/03/23
  • alex入门攻略_Catch insensitive, inconsiderate writing

    alex入门攻略 官方网址:https://alexjs.com GitHub:https://github.com/get-alex/alex 简介描述:Catch insens…

    2020/03/06
  • Js获取URL的协议?小白帮助_url入门基础

    想要获取当前URL的协议,可以使用JavaScript的location.protocol属性。 什么是协议?网络协议定义了网络设备之间通信的规则和约定。通过采用这些规则,两个设备可以相互通信并且可以交换信息。常见的协议:● ftp:文件传输协议(FTP)是一种标准网络协议,用于在计算机网络上的客户端和服务器之间传输计算机文件。● http:超文本传输协议(

    2020/03/20
  • Gatsby.js基础知识入门一款基于React.js静态站点生成工具_react小白入门

    Gatsby能快速的使用 React 生态系统来生成静态网站,可以结合React Component、Markdown 和服务端渲染来完成静态网站生成让他更强大。 相对于传统的动态网站框架,静态网站生成器具有许多优势:更好的性能、更高的安全性、更低的伸缩成本以及更加有趣的开发者体验。Gatsby的理解什么是Gatsby?官方介绍为Blazing-fast s

    2020/04/05
  • Uigarage入门百科_高级美,UI设计灵感炸裂之地

    Uigarage入门百科 官方网址:https://uigarage.net/ 简介描述:高级美,UI设计灵感炸裂之地 该网站大概有40种设计类别,涵盖:IOS、Andriod、W…

    2020/03/06
  • 原生js实现ajax的封装小白入门_封装入门指南

    1. ajax的介绍1.1 含义ajax 的全称是Asynchronous JavaScript and XML简单理解下:ajax就是异步的js和服务端的数据1.2 组成异步的js:事件,对象等
    其他js:数据处理和解析的js
    服务器的载体:xhr对象
    服务端的数据:json,xhr,html,txt等字符型数据1.3 作用它作为前端向后端发送数据请求的重

    2020/03/23
  • react之如何写一个管理自有状态的自定义组件小白教程_组件菜鸟教程网

    一、函数组件函数组件类似一个纯函数,接受外部传入的参数,生成并返回一个React元素(伪DOM)。例如,如下,Greeting作为一个组件,接受传入的参数name,并返回一个内容已填充的p标签。function Greeting (props) {return (

    {props.name},how are you?

    )
    }const eleme

    2020/03/30
  • 新网站如何加快收录?零基础入门_网站菜鸟教程下载

    对于一个新网站来说,希望短时间内被收录无疑是网站经营者最关注的的问题。那么就让我们了解一下!新网站上传之后,首先在百度搜索上输入你的网站网址,然后主动向百度提交你的网站,这个是最不费时间和经历的方法,也是每个新网站必须注意的问题。第二,发外链。我们通常以为外链是帮助提升网站排名和优化网站关键词的,但是在网站初期,外链可以大大加快新网站被收录的时间。在发外链的

    2020/04/03
  • javascript中void什么意思?新手入门_void基础知识教程

    在JavaScript中,一些标识符是保留关键字,Javascript的保留关键字不可以用作变量、标签或者函数名。有些保留关键字是作为 Javascript以后扩展使用。Javascript中void是一个保留关键字,其可以是任何类型。该关键字指定要计算一个表达式但是不返回值。它的语法可能是下列之一:javascript:void (expression)

    2020/03/24
  • 开发Web应用,Go语言比Python更有优势!小白帮助_应用菜鸟知识

    随着Golang的日益普及,它是否取代Python?接下来让我们一起看看Go的优点,以及它与Python的区别。在Web开发的世界里,敏捷才是王道。使用更少的费用和资源来更快地完成网站和网络应用,从而获得更多的竞争优势。此外,他们不仅希望快速完成Web开发,对可用性和用户体验的要求也很高。这需要开发更多的功能和高级编程语言来开发网站功能,例如Golang。本

    2020/03/20
  • Flutter 之 ListView零基础入门_Flutter基础知识入门

    在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景ListView 构造方法ListView:仅适用于列表中含有少量元素的场景ListView.build:适用于子 Widget 比较多的场景ListView.separated:适用于需要设置分割线的场景构造方法名特

    2020/03/23
  • cocoscreator 防止button连击多次触发事件入门攻略_事件使用帮助

    很多时候,ui上面的button都只需要单击触发一次,当用户快速连续点击时就有可能出现非意料的事情,解决这个问题很简单,只要规定button在指定间隔时间内只能触发一次就行。将下面的代码保存为ButtonSafe.js, 只需要给每个button控件添加下面的脚本并指定间隔时间即可防止重复点击。/*** Created by skyxu on 2018/9/

    2020/03/23
  • Flutter 国际化应用实战攻略教程_Flutter入门基础知识

    Flutter 国际化应用实战攻略教程 借助App Store与Google Play,全世界任何一个国家的使用者都可以使用我们开发的应用,不过由于应用的使用者来自不同国家,所以在…

    2020/03/19
  • eadremaining.js小白攻略_记录用户滚动页面的时间差jQuery插件

    eadremaining.js小白攻略 官方网址:http://aerolab.github.io/readremaining.js/ GitHub:https://github….

    2020/03/06
  • 让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度指南攻略_自适应基础知识入门

    HTML中pre和textarea可以显示预格式化的文本。即保留空格和换行符。而不必添加
    和 等HTML元素来添加换行和打印空格。pre去掉滚动条pre显示文本内容时是不会自动换行的,此时可以添加一些CSS来解决:

    ourjs this is very very very very very very very very very very v

    2020/03/26
  • 【译】React团队的技术准则使用说明_技术入门教程

    本文翻译自React团队核心成员Dan Abramov的技术博客。地址:https://overreacted.io/本文首发于公众号:符合预期的CoyPan我React团队工作的这段时间,很幸运能够看见 Jordan、Sebastian、Sophie 和其他团队成员是如何解决问题的。在本文中,我会把从他们身上学到的,浓缩为一篇较高层次的技术准则。这些准则未

    2020/03/20