ES6 新增Set Map型別

2021-08-26 02:17:04 字數 1920 閱讀 4798

1.set資料結構

(1)定義:

類似於陣列,但是其成員是唯一的;

實現了interator介面;

例子:

(2)set建構函式特性

a. 可以接收乙個陣列

b. 可以接收所有實現了interator介面的資料結構;

例子:

(3)屬性,size 例子:

(4)方法:

a. add(value)新增成員

b. delete(value)刪除成員

c. has(value)判斷是否存在某個值

d. clear() 清空所有成員

e. 遍歷set結構方法:for(...of ...)和foreach()

例子:

f. keys()等同於values()

g. values()

h. entries() 沒有索引,索引輸出的都是其value值

例子:

2.weakset

1.定義:

(1)結構與set型別類似,成員唯一,區別在於weakset成員必須是物件

(2)weakset中的物件都是弱引用

(3)不能遍歷,也沒用size屬性;

(4)沒有實現interator介面(for ...of 報錯)

例子:

2.方法

(1) add()

(2) delete()

(3)has

例子:

3.map資料結構

(1)定義:map跟物件型別類似,鍵值對組成的集合,鍵的型別可以是任意型別;

map實現了interator介面,可以實現遍歷;

(2)建構函式:引數可以是陣列,陣列是二位陣列,元素陣列兩個元素:key value,如[ [ ' key ' , ' value '] , [ ' key ' , ' value '] ]

例子:

(3)屬性,獲取長度size

(4)方法:

a. 獲取裡面的值get(key),例子

b:新增 / 修改set(' key ',' value '),任意型別都可以

c:判斷鍵是否存在has(key)

d:清空clear()

(5)遍歷方法

a. for...of

b. foreach

c. values()

d. keys()

e. entries()

4.weakmap

(1)定義:與map區別

鍵必須是物件;

鍵所指向的物件是弱引用;

不可遍歷,沒有實現interator介面

(2)方法

a. set()

b. get()

c. has()

d. delete()

ES6新增資料型別Set Map

map物件是用來儲存鍵值對的,它和object非常的相似,那麼他們之間存在著什麼樣的差異呢 map與object的區別 object的鍵只能是字串或者symbols,但是map的鍵可以是任意值 map中的鍵值是有序的 fifo原則 而物件中的鍵不是 map的鍵值對個數可以通過size屬性來獲取,而物...

ES6資料集合Set Map

1 let set new set 1,2,3,4,4 2 console.log set set size 返回集合的長度 去重後的長度 1 console.log set.size 1 set.add 55 1 set.add mr add 21 1 set.delete 2 1 console...

ES6 新增的型別Symbol

symbol 是es6中新增的一種資料型別,是唯一的識別符號,可以作為物件的唯一屬性名 symbol 可以代替乙個常量,指的常量的值唯一 symbol 的特點 唯一性 即使兩個變數型別,值都一樣,也不相等 let id1 symbol id let id2 symbol id console.log...