1. 程式人生 > >immutable-js基礎

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取幾個