set
類似於陣列,但是成員的值都是唯一的,沒有重複的值,有序。
set函式可以接受乙個陣列(或者具有 iterable 介面的其他資料結構)作為引數,用來初始化。
用途陣列去重:
字串去重:[...new set(array)]
或array.from(new set(array));
map[...new set('ababbc')].join('')
// "abc"
「鍵」的範圍不限於字串,各種型別的值(包括物件)都可以當作鍵
任何具有 iterator 介面、且每個成員都是乙個雙元素的陣列的資料結構(詳見《iterator》一章)都可以當作map建構函式的引數
只有對同乙個物件的引用,map 結構才將其視為同乙個鍵。這一點要非常小心。
map 的鍵實際上是跟記憶體位址繫結的,只要記憶體位址不一樣,就視為兩個鍵。這就解決了同名屬性碰撞(clash)的問題,我們擴充套件別人的庫的時候,如果使用物件作為鍵名,就不用擔心自己的屬性與原作者的屬性同名。
map 的遍歷順序就是插入順序,物件無序
ES6入門之set和map
es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set函式可以接受乙個陣列 或類似陣列的物件 作為引數,用來初始化。例一 var set new set 1,2,3,4,4 set 1,2,3,4 var s newset 2,3,5,4,5,2,2 map x ...
ES6入門之set和map
es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。set函式可以接受乙個陣列 或類似陣列的物件 作為引數,用來初始化。例一 var set new set 1,2,3,4,4 set 1,2,3,4 var s new set 2,3,5,4,5,2,2 map x...
Es6之Set和Map結構
set 類似陣列,但是它的成員沒有重複值 let s new set let s2 new set 1,2,3,4,1,2,3 1,2,3,4,1,2,3 foreach x s.add x console.log s console.log s2 可以看出會去掉重複值 那我們就可以利用這個特性來去...