Immutable.js(和原生方法不同):

用于深层次的数组和对象的比较

 

数据结构:Map Set Seq List Rang(和原生不同)

 

首先:先忘记es5 es6的数组对象方法

 

官方文档:https://facebook.github.io/immutable-js/docs/#/

 

 

(1)set

Set返回值相当于拷贝

 

(2)equals 比较值是否相等

(3)push unshift concat

红框内是immutable中的方法,并不是原生的,不同是返回的是一个新的数组

 

 

 

(4)map:

Map类型执行map方法返回一个map类型,会更改每个key:value项的value

Join()会把Map类型的每一项键值对的value拿出来变成一个字符串

 

(5)merge:

谁调用merge方法谁就会被括号里的对象的重名key覆盖

 

因为数组是有序的,所以返回的数组按照从左到右顺序

 

(6)seq  .toObject

Seq流对象 数据类型之一  可以用toObject 把seq类型转换成object类型 

 

(7)fromJs

fromJs:

把js对象转换成map,把数组转换成List

 

 

(8)toObject\ toArray:\ toJs:

toObject:只转一层

toArray:转成数组类型,同样只转一层

toJs:都转

 

 

(9)

getIn([a,b,c]) 表示 a层.b层.c

 

 

(10)

Is和equals类似

 

(11)Set()

神奇的发现 居然是有序的

如果map2的c:3 则输出为下图

 

去重

删除

交集

 Set()

 

键值对拆开

 

(12)

//true

//true

链式操作,push   list就是调用方法的这个对象

 

 

(13)Seq

console.log(oddSquares):

 

(14) flip键值对反转

(15)skip take

Rang(1,2000) 取1到2000

Skip跳过,take取几个

immutable-js基础的更多相关文章

  1. 大话immutable.js

    为啥要用immutable.js呢.毫不夸张的说.有了immutable.js(当然也有其他实现库)..才能将react的性能发挥到极致!要是各位看官用过一段时间的react,而没有用immutabl ...

  2. Immutable.js 以及在 react+redux 项目中的实践

    来自一位美团大牛的分享,相信可以帮助到你. 原文链接:https://juejin.im/post/5948985ea0bb9f006bed7472?utm_source=tuicool&ut ...

  3. js 基础篇(点击事件轮播图的实现)

    轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...

  4. js 基础

    js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避 ...

  5. js基础练习二之简易日历

    今天学到了js基础教程3,昨天的课后练习还没来的及做,这个是类似简易日历的小案例,视频还没听完,今晚继续...... 先看效果图: 其实做过前面的Tab选项卡,这个就很好理解了,通过鼠标放在不同月份月 ...

  6. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  7. JS基础(超级简单)

    1     JS基础(超级简单) 1.1 数据类型 1.1.1   基本类型: 1)        Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2)       ...

  8. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  9. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  10. JS基础知识总结

      js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划() ...

随机推荐

  1. cogs 9. 中心台站建设。。。

    9. 中心台站建设 ★★☆   输入文件:zpj.in   输出文件:zpj.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     n个城市之间有通讯网络,从这n个城 ...

  2. Linux磁盘分区方案(转)

    硬盘分区的各个分区的意义 尽管可以根据我们已经提到的分区原则,Linux装在一个单一的大分区中,但更好的主意是将它分开.综合了单一分区的简单性和多分区的灵活性,我们推荐以下配置.请注意:如果你想安装L ...

  3. 在java中,怎样跳出当前的多重循环?

    </pre>直接用break ;详细举比例如以下:<p></p><p></p><p></p><pre name ...

  4. Android----获得当前应用包名、当前activity的名字、推断是否是系统桌面、service类

    1.获得当前应用包名 public static String getRunningActivityName(Context context) { ActivityManager activityMa ...

  5. cefsharp 获取高度

    G.browser.GetBrowser().MainFrame.ExecuteJavaScriptAsync("$(document).height()"); // Get Do ...

  6. iWatch报错: Authorization request cancled

    iWatch报错: Optional (Error Domin = com.apple.healthkit Code = 5 "Autherization request canceled& ...

  7. Java网页小程序——Java Applet

    Java Applet是编译过的Java程序,可以在所有支持Java的浏览器中运行. 1.Applet的使用 import java.applet.Applet; import java.awt.Gr ...

  8. redis 学习笔记-cluster集群搭建

    一.下载最新版redis 编译 目前最新版是3.0.7,下载地址:http://www.redis.io/download 编译很简单,一个make命令即可,不清楚的同学,可参考我之前的笔记: red ...

  9. [XJOI]noip44 T3还有这种操作

    还有这种操作 ttt 最近在学习二进制, 他想知道小于等于N的数中有多少个数的二进制表示中有偶数个1. 但是他想了想觉得不够dark,于是他增加了若干次操作,每次操作会将一个区间内的0变1 , 1变0 ...

  10. WinForm——操作word文档

    解决方案资源管理器——引用——(右击)添加引用——COM 1. 安装Office,添加引用COM里面的 Microsoft Word 14.0 Object. Library 2. 导命名空间 usi ...