国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

一文搞懂ES6中的Map和Set

2024-05-06 15:39:14
字體:
來源:轉載
供稿:網友

Map

Map對象保存鍵值對。任何值(對象或者原始值) 都可以作為一個鍵或一個值。構造函數Map可以接受一個數組作為參數。

Map和Object的區別

•一個Object 的鍵只能是字符串或者 Symbols,但一個Map 的鍵可以是任意值。

•Map中的鍵值是有序的(FIFO 原則),而添加到對象中的鍵則不是。

•Map的鍵值對個數可以從 size 屬性獲取,而 Object 的鍵值對個數只能手動計算。

•Object 都有自己的原型,原型鏈上的鍵名有可能和你自己在對象上的設置的鍵名產生沖突。

1.Map對象的屬性

•size:返回Map對象中所包含的鍵值對個數

1.Map對象的方法

•set(key, val): 向Map中添加新元素

•get(key): 通過鍵值查找特定的數值并返回

•has(key): 判斷Map對象中是否有Key所對應的值,有返回true,否則返回false

•delete(key): 通過鍵值從Map中移除對應的數據

•clear(): 將這個Map中的所有元素刪除

const m1 = new Map([['a', 111], ['b', 222]])console.log(m1) // {"a" => 111, "b" => 222}m1.get('a') // 111const m2 = new Map([['c', 3]])const m3 = new Map(m2)m3.get('c') // 3m3.has('c') // truem3.set('d', 555)m3.get('d') // 555

1.遍歷方法

•keys():返回鍵名的遍歷器

•values():返回鍵值的遍歷器

•entries():返回鍵值對的遍歷器

•forEach():使用回調函數遍歷每個成員

const map = new Map([['a', 1], ['b', 2]])for (let key of map.keys()) { console.log(key)}// "a"http:// "b"for (let value of map.values()) { console.log(value)}// 1// 2for (let item of map.entries()) { console.log(item)}// ["a", 1]// ["b", 2]// 或者for (let [key, value] of map.entries()) { console.log(key, value)}// "a" 1// "b" 2// for...of...遍歷map等同于使用map.entries()for (let [key, value] of map) { console.log(key, value)}// "a" 1// "b" 2

1.map與其他數據結構的互相轉換

•map轉換為數組(使用擴展運算符)

const arr = [[{'a': 1}, 111], ['b': 222]]const myMap = new Map(arr)[...myMap] // map轉數組。 [[{'a': 1}, 111], ['b': 222]]•Map與對象的互換const obj = {}const map = new Map(['a', 111], ['b', 222])for(let [key,value] of map) { obj[key] = value}console.log(obj) // {a:111, b: 222}

•JSON字符串要轉換成Map可以先利用JSON.parse()轉換成數組或者對象,然后再轉換即可。

Set

Set對象允許你存儲任何類型的值,無論是原始值或者是對象引用。它類似于數組,但是成員的值都是唯一的,沒有重復的值。

Set 本身是一個構造函數,用來生成Set 數據結構。Set函數可以接受一個數組(或者具有 iterable 接口的其他數據結構)作為參數,用來初始化。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 黔南| 昭觉县| 左权县| 苗栗县| 桂林市| 沛县| 贺兰县| 商水县| 松桃| 旅游| 逊克县| 门头沟区| 兴安盟| 延安市| 堆龙德庆县| 闻喜县| 景泰县| 三亚市| 全南县| 堆龙德庆县| 龙里县| 永清县| 新竹县| 登封市| 平远县| 北京市| 花莲市| 隆回县| 涞水县| 弋阳县| 永修县| 乌兰县| 广丰县| 天水市| 遵义县| 叶城县| 体育| 紫云| 周宁县| 梨树县| 马公市|