Set Map
Set && Map
1. Set
ES6 提供的新的數(shù)據(jù)結(jié)構(gòu),一組 key 的集合,類(lèi)似于數(shù)組。但成員的值都是唯一的。
要?jiǎng)?chuàng)建一個(gè) Set,需要提供一個(gè) Array作為輸入,或者直接創(chuàng)建一個(gè)空 set。
let s1 = new Set() console.log(Object.prototype.toString.call(s1)) // [object Set]let s2 = new Set([1, 2, 3]) console.log(s2) // Set(3)?{1, 2, 3} console.log([...s2]) // [1, 2, 3] 復(fù)制代碼數(shù)組去重
let arr = ['a', 'b', 'c', 'c', 'b', null, null, NaN, NaN, {}]console.log([...new Set(arr)]); // ["a", "b", "c", null, NaN, {…}] 復(fù)制代碼字符串去重
let str = 'abbccddeffg'console.log([...new Set(str)].join('')) // 'bcdefg' 復(fù)制代碼Set 實(shí)例的屬性和方法:
-
Set 結(jié)構(gòu)的實(shí)例有以下屬性:
- Set.prototype.size: 返回 Set 實(shí)例的成員總數(shù);
-
Set 實(shí)例的方法:
- add(value): 添加某個(gè)值;
- delete(value): 刪除某個(gè)值;
- has(value): 是否存在某個(gè)值,返回 布爾值;
- clear(): 清空所有值;
2. Map
Map 是一組鍵值對(duì)的集合(傳統(tǒng)上只能用字符創(chuàng)當(dāng)做鍵值),并且具有非常的查找速度
- 初始化 Map 需要一個(gè)二位數(shù)組,或者是一個(gè)空 Map
- 當(dāng)需要查找一個(gè)學(xué)生的成績(jī)時(shí),對(duì)于一個(gè) [姓名,成績(jī)]的表(姓名 => 成績(jī)),只需要知道該學(xué)生的姓名,便可查到對(duì)應(yīng)的成績(jī)。查找速度極快。
- 一個(gè) key 只能對(duì)應(yīng)一個(gè) value,當(dāng)重復(fù)賦值時(shí),將會(huì)產(chǎn)生覆蓋。
-
Map 實(shí)例的遍歷方法:
- keys():
- values():
- entries():
- forEach:
轉(zhuǎn)載于:https://juejin.im/post/5c80c4e75188251b652af9be
總結(jié)
- 上一篇: 【转载】ubuntu下/usr/bin和
- 下一篇: Django模板语言(译)