es6 新增的map資料結構
雖然網上很多講解 還是打算自己整理一下來加深印象
map可以接受陣列作為引數,陣列成員還是乙個陣列,其中有兩個元素,乙個表示鍵乙個表示值。
const map2 = new map([
['name', 'aissen'],
['age', 12]
])
map2 //
map2.size // 2
map2.set('***','man')
如果乙個鍵重複設定 後面的會覆蓋之前的值
map2.get('***') // man
可以鏈式呼叫
map2.set().set().set().get()
map物件將 0 -0 +0視為同乙個值
map2.set(-0,'0相等');
map2.get(0); // 0相等
map2.get(+0); // 0相等
map視nan相等
map2.set(nan,'相等');
map2.get(number('xixixi')) // '相等
布林值true和'true'是兩個不同的鍵,undefined和null也是兩個不同的鍵
map2.has(key);
返回值:布林值,若存在於map中,則返回true
移除 map 物件中指定的元素。
map2.delete(key);
返回值:布林值,若為true,則刪除成功
map2.clear()
清除所有成員,沒有返回值
返回鍵名的遍歷器
map2.keys()
for(let key of map2.keys())
返回鍵值的遍歷器
map2.values()
for(let value of map2.values())
返回所有成員的遍歷器
map2.entries()
for(let item of map2.entries())
// 返回結構如 ['aa',11]
map2.foreach(callback[, thisarg])
thisarg:this,可選
var map = new map()
.set('aa',11)
.set('bb',22)
map.foreach(function (value,key,mymap))
// 11 "aa"
// 22 "bb" {"aa" => 11, "bb" => 22
map轉陣列
var map = new map()
.set('aa',11)
.set('bb',22)
.set('cc',33)
[...map] // [ ['aa',11],['bb',22],['cc',33] ]
[...map.keys()] // ["aa", "bb", "cc"]
[...map.values()] // [11, 22, 33]
[...map.entries()] // [ ['aa',11],['bb',22],['cc',33] ]
ES6之 Map資料結構
es6新增了 map資料結構,map物件儲存鍵值對,任何值 原始值或物件 都可以作為乙個鍵或乙個值。let map new map let obj map.set obj,myobject map.get obj myobject map.has obj true map.delete obj tr...
Set資料結構(es6新增)
es6提供了新的資料結構,它類似陣列,但是成員都是唯一的,沒有重複的值 可以用來解決陣列去重 1 set本身是乙個建構函式,用來生產set資料結構 可以通過add方法新增資料,size方法判斷長度 var s new set 2,3,5,4,5,2,2 map x s.add x for let i...
ES6 資料結構)
一 set 用法 set 對陣列進行轉化 新增重複元素不會生效 應用 去重複功能 轉化過程不會有資料型別的轉換 新增 刪除 判斷是否存在的方法 讀取 遍歷 的幾種方法 二 weakset 與set的區別 1.weakset 的元素只能是物件 2.weakset 的物件是弱應用 不會檢測是否在其他中用...