久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

21
2023/06

走進(jìn)es6|新的鍵值對結(jié)構(gòu)|Map結(jié)構(gòu)

發(fā)布時間:2023-06-21 16:40:10
發(fā)布者:神棍子
瀏覽量:
0

js中對象object的本質(zhì)上就是鍵值對的集合哈希結(jié)構(gòu)hash,但是對象只能用字符串來當(dāng)做鍵名,所以就會帶來很大的限制,加入我們用js獲取dom,我就想用當(dāng)前dom當(dāng)做鍵值,是沒有辦法實(shí)現(xiàn)的,強(qiáng)行寫入的話只會把當(dāng)前dom節(jié)點(diǎn)轉(zhuǎn)換為字符串。

dom鍵

所以,如果我們想要一次作為鍵值,那么就不得不在原有的dom結(jié)構(gòu)中增加參數(shù),味了解決類似問題所以es6引入了Map,它也是一個鍵值對的對象,但是它的鍵名就不在受限于字符串,可以用任何類型的值來代表鍵名,對象、數(shù)組、字符等等。運(yùn)用次方法再看上述問題我們就可以輕松解決。

map使用示例

但是需要注意的是,如果用兩個相同內(nèi)容的數(shù)據(jù),但是其存儲地址不同的話,Map是沒有辦法獲取到鍵值的。比如:

map寫入

 

如上圖所示,mn的內(nèi)容是完全相同的,在get時再重新寫入一個新對象,mn的內(nèi)容都無法獲取到,但是單獨(dú)獲取n的可以,這也就說明,Map的鍵名存儲的內(nèi)容實(shí)際是存儲地址。

Map的常用屬性和方法:

size:返回成員數(shù)量

set:追加key 并返回當(dāng)前map 所以set可以鏈?zhǔn)讲僮鞅热?/span>

get:獲取key的值

has:判斷key是否存在

delete:刪除指定key

clear:刪除所有內(nèi)容

keys:返回所有key

values:返回所有內(nèi)容

entries:將鍵值對轉(zhuǎn)數(shù)組返回[[,]...]

forEach:循環(huán)遍歷


關(guān)鍵詞:
返回列表