东京热成人网站_XX另类XX伦理XXAV_亚洲精品无码成人AAA片_高清av中文字幕无码_手机看片国产欧美日韩高清_bd美妙第进化型

咨詢電話:
15628812133
21
2023/06

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

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

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

dom鍵

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

map使用示例

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

map寫入

 

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

Map的常用屬性和方法:

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

set:追加key 并返回當前map 所以set可以鏈式操作比如

鏈式操作

get:獲取key的值

has:判斷key是否存在

delete:刪除指定key

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

keys:返回所有key

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

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

forEach:循環(huán)遍歷


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