摘要:類似數(shù)組,但是成員的值都是唯一的,沒有重復(fù)。他包含的方法添加某個值,返回結(jié)構(gòu)本身。如果其他對象不再引用該對象,那么垃圾回收機制會自動回收該對象所占的內(nèi)存,所以是不可遍歷的。他是鍵值對的集合結(jié)構(gòu)。所以當(dāng)需要鍵值對這樣的數(shù)據(jù)結(jié)構(gòu)時,比更合適。
Set
Set:類似數(shù)組,但是成員的值都是唯一的,沒有重復(fù)。
Set本身是一個構(gòu)造函數(shù),用來生成Set數(shù)據(jù)結(jié)構(gòu)。
他包含的方法:
add: 添加某個值,返回Set結(jié)構(gòu)本身。
delete: 刪除某個值,返回一個布爾值,表示是否成功;
has(value): 返回布爾值,表示該值是否為Set的成員;
clear():清除所有成員,沒有返回值
遍歷操作
keys():返回鍵名的遍歷器
values(): 返回健值對的遍歷器
entries():返回鍵值對的遍歷器
forEach(): 每個成員
他與Set類似,但是也有區(qū)別
1.weakSet的成員只能是對象,不能是其他類型的值
2.weakSet對象都是弱引用。如果其他對象不再引用該對象,那么垃圾回收機制會自動回收該對象所占的內(nèi)存,所以WeakSet是不可遍歷的。
WeakSet結(jié)構(gòu)的三個方法
add
delete
has
WeakSet的一個用處是儲存DOM節(jié)點,而不用擔(dān)心這些節(jié)點會從文檔中移除時,會引發(fā)內(nèi)存泄露。
他是鍵值對的集合(Hash結(jié)構(gòu))。他與Object結(jié)構(gòu)的區(qū)別是:Object是一種“字符串-值”的對應(yīng),Map是“值-值”的對應(yīng)。所以當(dāng)需要“鍵值對”這樣的數(shù)據(jù)結(jié)構(gòu)時,Map比Object更合適。
他的方法:
set(key, value)
get(key)
has(key)
delete(key)
clear()
遍歷方法
keys()
values()
entries()
forEach()
WeakMap跟Map結(jié)構(gòu)基本類似,區(qū)別是只接受對象(null除外)作為鍵名,不接受其他類型的值作為鍵名,而且鍵名所指向的對象,不計入垃圾回收機制。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/82060.html
摘要:學(xué)習(xí)筆記工作中常用到的語法只是簡單提及和,今天有空于是寫了這篇文章深入理解中的和數(shù)據(jù)結(jié)構(gòu),與其它數(shù)據(jù)結(jié)構(gòu)的互相轉(zhuǎn)換。的提供了新的數(shù)據(jù)結(jié)構(gòu)。本身是一個構(gòu)造函數(shù),用來生成數(shù)據(jù)結(jié)構(gòu)。 文中的內(nèi)容主要是來自于阮一峰的《ES6標(biāo)準(zhǔn)入門》(第三版)。《學(xué)習(xí)ES6筆記──工作中常用到的ES6語法》只是簡單提及Set和Map,今天有空于是寫了這篇文章──《深入理解:ES6中的Set和Map數(shù)據(jù)結(jié)構(gòu),M...
摘要:創(chuàng)建并添加項目可以使用數(shù)組來初始化一個,并且構(gòu)造器會確保不重復(fù)地使用這些值使用方法來測試某個值是否存在于中移除值使用方法來移除單個值,或調(diào)用方法來將所有值從中移除。屬性的初始化將數(shù)組傳遞給構(gòu)造器,以便使用數(shù)據(jù)來初始化一個。 主要知識點:Set的基本操作,Weak Set,Map的基本操作,Weak MapshowImg(https://segmentfault.com/img/bVbf...
摘要:引入的數(shù)據(jù)結(jié)構(gòu)新加入的數(shù)據(jù)類型有這些數(shù)據(jù)結(jié)構(gòu)的支持并不廣泛,在寫這篇文章的時候。是或其他可枚舉的對象,其每個元素是的元數(shù)組。開頭的和不對持有引用,不影響。因此,他們沒有辦法對自身的進行直接的枚舉。目前新版的和支持。 原文:http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_data_types.html 源代...
摘要:中模擬與長久以來,數(shù)組一直是中唯一的集合類型。用數(shù)組初始化集合事實上,只要是可迭代對象數(shù)組集合集合,都可以作為構(gòu)造函數(shù)的參數(shù)。構(gòu)造函數(shù)通過迭代器從參數(shù)中提取值。 ES5中模擬Set與Map 長久以來,數(shù)組一直是JavaScript中唯一的集合類型。如果開發(fā)者們需要使用非數(shù)值型索引,就會用非數(shù)組對象創(chuàng)建所需的數(shù)據(jù)結(jié)構(gòu),而這就是Set集合與Map集合的早期實現(xiàn)。 一般來說,Set集合常被用...
摘要:提供了新的數(shù)據(jù)結(jié)構(gòu)。用法結(jié)構(gòu)有以下屬性構(gòu)造函數(shù),默認(rèn)就是函數(shù)。結(jié)構(gòu)有以下方法添加某個值,返回結(jié)構(gòu)本身。返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。 Set ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 用法:new Set([iterable]) const set = new Set([1, 2, 3, 4, 4, 4]...
摘要:由于和不會被轉(zhuǎn)換為字符串,所以在內(nèi)部是不同的項,如果他們被轉(zhuǎn)化為字符串,那么都會等于,如果多次調(diào)用并傳入相同的值作為參數(shù)。第二次重復(fù)傳入并不會被添加到集合中,那么的屬性值還是為。的方法和共享了幾個方法。小結(jié)正式將與引入。 se5中的set與map 在est5中開發(fā)者使用對象屬性來模擬。set多用于檢查鍵的存在,map多用于提取數(shù)據(jù)。 { let set = Object.cre...
閱讀 1857·2021-09-23 11:21
閱讀 705·2019-08-30 15:55
閱讀 842·2019-08-29 15:40
閱讀 538·2019-08-29 12:56
閱讀 3171·2019-08-26 12:00
閱讀 3564·2019-08-23 18:24
閱讀 2256·2019-08-23 17:08
閱讀 1645·2019-08-23 17:03