immutable-js基础

Posted lzx1010

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了immutable-js基础相关的知识,希望对你有一定的参考价值。

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基础的主要内容,如果未能解决你的问题,请参考以下文章

Immutable.js使用教程记录

Om 但在 javascript 中

Immutable.js 将值映射到数组

Python基础 —— 目录

python基础教程(第二版)

基础架构基础服务基础平台基础中间件等等