es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。
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 =>s.add(x)); for(let i of s) //2 3 5 4
nan
是相等。兩個物件總是不相等的。可以用length來檢測
四個操作方法:
set內部的元素可以遍歷for...of...
weakset結構與set類似,也是不重複的值的集合。
weakset和set的區別:
map結構提供了「值—值」的對應,是一種更完善的hash結構實現。如果你需要「鍵值對」的資料結構,map比object更合適。它類似於物件,也是鍵值對的集合,但是「鍵」的範圍不限於字串,各種型別的值(包括物件)都可以當作鍵。
var m = newmap();注意,只有對同乙個物件的引用,map結構才將其視為同乙個鍵。這一點要非常小心。var o = ;
m.set(o, "content") m.get(o) //"content" m.has(o) //true m.delete(o) //true m.has(o) //false
var map = newmap();如果map的鍵是乙個簡單型別的值(數字、字串、布林值),則只要兩個值嚴格相等,map將其視為乙個鍵,包括0和-0。另外,雖然nan不嚴格相等於自身,但map將其視為同乙個鍵。map.set(['a'], 555);
map.get(['a']) //undefined 上面**的set和get方法,表面是針對同乙個鍵,但實際上這是兩個值,記憶體位址是不一樣的,因此get方法無法讀取該鍵,返回undefined。
例項屬性和方法:size、set、get、has、delete、clear
遍歷方法:keys()、values()、entries()、foreach()
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
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
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...