摘要:是提供的一種新的數(shù)據(jù)結(jié)構(gòu),它允許你存儲(chǔ)任何類型的唯一值,而且中的元素是唯一的。我們用操作符來(lái)生成一個(gè)對(duì)象基本用法元素是唯一的可以用來(lái)數(shù)組去重屬性和方法結(jié)構(gòu)的實(shí)例有以下屬性構(gòu)造函數(shù),默認(rèn)就是函數(shù)。返回實(shí)例的成員總數(shù)。
Set 是ES6提供的一種新的數(shù)據(jù)結(jié)構(gòu),它允許你存儲(chǔ)任何類型的唯一值,而且Set中的元素是唯一的。
我們用new操作符來(lái)生成一個(gè)Set對(duì)象
基本用法let arr = [1,2,3,1,2,2,1,2,1,1]; let set = new Set(arr); set.size // 3 [...set] // [1,2,3] 元素是唯一的 可以用來(lái)數(shù)組去重屬性和方法
set結(jié)構(gòu)的實(shí)例有以下屬性
Set.prototype.constructor: 構(gòu)造函數(shù),默認(rèn)就是Set函數(shù)。 Set.prototype.size: 返回Set實(shí)例的成員總數(shù)。
方法
方法 | 用法 |
---|---|
Set.prototype.add(value) | 在Set對(duì)象尾部添加一個(gè)元素。返回Set對(duì)象 |
Set.prototype.clear() | 移除Set對(duì)象內(nèi)的所有元素 |
Set.prototype.delete(value) | 移除Set中與value值相等的元素 |
Set.prototype.has() | 返回一個(gè)布爾值,表示該值是否為Set的成員 |
Set.prototype.keys() | 返回鍵名的遍歷器 |
Set.prototype.values() | 返回鍵值的遍歷器 |
Set.prototype.entries() | 返回鍵值對(duì)的遍歷器 |
Set.prototype.forEach() | 使用回調(diào)函數(shù)遍歷每個(gè)成員 |
let set = new Set() set.add(0).add(1).add(1).add(2); set.size//3 set.has(1) //true set.has(5) //false set.delete(1); set.has(1) // false set.clear();
Array.from 方法可以將Set結(jié)構(gòu)轉(zhuǎn)為數(shù)組。
let set = new Set([1,2,2,3,2,3,4]); let arr = Array.from(set) //1,2,3,4遍歷操作
let set = new Set(["red", "green", "blue"]); for (let item of set.keys()) { console.log(item); } // red // green // blue for (let item of set.values()) { console.log(item); } // red // green // blue for (let item of set.entries()) { console.log(item); } // ["red", "red"] // ["green", "green"] // ["blue", "blue"] set.forEach((value, key) => console.log(key + " : " + value)) //red : red //green : green //blue : blue
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/98070.html
摘要:學(xué)習(xí)筆記工作中常用到的語(yǔ)法只是簡(jiǎn)單提及和,今天有空于是寫(xiě)了這篇文章深入理解中的和數(shù)據(jù)結(jié)構(gòu),與其它數(shù)據(jù)結(jié)構(gòu)的互相轉(zhuǎn)換。的提供了新的數(shù)據(jù)結(jié)構(gòu)。本身是一個(gè)構(gòu)造函數(shù),用來(lái)生成數(shù)據(jù)結(jié)構(gòu)。 文中的內(nèi)容主要是來(lái)自于阮一峰的《ES6標(biāo)準(zhǔn)入門》(第三版)。《學(xué)習(xí)ES6筆記──工作中常用到的ES6語(yǔ)法》只是簡(jiǎn)單提及Set和Map,今天有空于是寫(xiě)了這篇文章──《深入理解:ES6中的Set和Map數(shù)據(jù)結(jié)構(gòu),M...
摘要:創(chuàng)建并添加項(xiàng)目可以使用數(shù)組來(lái)初始化一個(gè),并且構(gòu)造器會(huì)確保不重復(fù)地使用這些值使用方法來(lái)測(cè)試某個(gè)值是否存在于中移除值使用方法來(lái)移除單個(gè)值,或調(diào)用方法來(lái)將所有值從中移除。屬性的初始化將數(shù)組傳遞給構(gòu)造器,以便使用數(shù)據(jù)來(lái)初始化一個(gè)。 主要知識(shí)點(diǎn):Set的基本操作,Weak Set,Map的基本操作,Weak MapshowImg(https://segmentfault.com/img/bVbf...
摘要:更新了個(gè)版本,最新正式版是語(yǔ)言的下一代標(biāo)準(zhǔn),早已在年月正式發(fā)布。基本不支持移動(dòng)端瀏覽器對(duì)的支持情況版起便可以支持的新特性。比較通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有著怎樣的關(guān)系? 1996 年 11 月,Netscape 創(chuàng)造了javascript并將其提交給了標(biāo)準(zhǔn)化組織 ECMA,次年,ECMA 發(fā)布 262 號(hào)標(biāo)準(zhǔn)文件(ECMA-...
摘要:中模擬與長(zhǎng)久以來(lái),數(shù)組一直是中唯一的集合類型。用數(shù)組初始化集合事實(shí)上,只要是可迭代對(duì)象數(shù)組集合集合,都可以作為構(gòu)造函數(shù)的參數(shù)。構(gòu)造函數(shù)通過(guò)迭代器從參數(shù)中提取值。 ES5中模擬Set與Map 長(zhǎng)久以來(lái),數(shù)組一直是JavaScript中唯一的集合類型。如果開(kāi)發(fā)者們需要使用非數(shù)值型索引,就會(huì)用非數(shù)組對(duì)象創(chuàng)建所需的數(shù)據(jù)結(jié)構(gòu),而這就是Set集合與Map集合的早期實(shí)現(xiàn)。 一般來(lái)說(shuō),Set集合常被用...
摘要:返回一個(gè)布爾值,表示該值是否為的成員。返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對(duì)的遍歷器使用回調(diào)函數(shù)遍歷每個(gè)成員需要特別指出的是,的遍歷順序就是插入順序。該數(shù)組的所有成員,都會(huì)自動(dòng)成為實(shí)例對(duì)象的成員。這意味著,數(shù)組的成員只能是對(duì)象。 1.Set ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒(méi)有重復(fù)的值。Set 本身是一個(gè)構(gòu)造函數(shù),用來(lái)生成 Set 數(shù)據(jù)結(jié)構(gòu)...
閱讀 1271·2021-11-15 18:14
閱讀 3128·2021-08-25 09:38
閱讀 2663·2019-08-30 10:55
閱讀 2673·2019-08-29 16:39
閱讀 1305·2019-08-29 15:07
閱讀 2446·2019-08-29 14:14
閱讀 810·2019-08-29 12:36
閱讀 909·2019-08-29 11:21