成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

es6 map是引用類型嗎

map是引用類型;map(集合)是es6新增的一種引用數據類型,表示數據的映射關系。map集合數據類型中數據是以“鍵/值”的方式存儲的,可以使用對象的屬性作為鍵,使用屬性來引用值;map可以使用new來創建,例“const myMap = new Map();”。

es6 map是引用類型嗎

本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

map是引用類型。

es6 map

在ES6之前,在JavaScript中實現‘鍵’=>‘值’,也就是我們常說的鍵值對,是用Object來完成的。但這種實現方式在特殊場景下的有問題的,ES6又出了一個為Map的新集合類型,為這門語言帶來正真的鍵值對存儲機制。

map(集合)是es6新增的一種引用數據類型,表示數據的映射關系;map集合數據類型中數據是以“鍵/值”的方式存儲的,可以使用對象的屬性作為鍵,使用屬性來引用值。

1-1 創建Map

使用new關鍵字來實例一個map

let m = new Map();  console.log(m); // Map(0) {}
登錄后復制

創建時初始化:
傳入一個二維數組參數(可迭代對象,內部以數組的方式傳入鍵值)
每個子數組,第一個元素是map對應的key, 第二個元素是map對應的value

let m = new Map([[{}, 222], [{}, '123']]);  console.log(m); // Map(2) { {} => 222, {} => '123' }
登錄后復制

1-2 Map Api

1-2-1 添加映射元素

通過set()方法添加,傳入兩個參數,第一個傳入映射的鍵,第二個傳入映射的值。返回的是該映射集合(意味著可以鏈式添加)

let m = new Map();  m.set('prop', '值');  console.log(m); // Map(1) { 'prop' => '值' }
登錄后復制

鏈式添加鍵值

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  console.log(m); // Map(3) { 'prop' => '值', 'prop2' => false, 'num' => { id: 13 } }
登錄后復制

1-2-2 映射集合長度

使用size屬性可以獲取到當前集合元素數量

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  console.log(m.size);
登錄后復制

1-2-3 獲取元素

通過get()方法獲取到元素,傳入獲取目標的key

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  console.log(m.get('prop2')); // false
登錄后復制

1-2-4 刪除元素

通過delete()方法刪除映射集合中的某個元素,返回刪除成功或失敗的布爾值

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  m.delete('prop2'); // true  console.log(m.get('prop2'), m.size); // undefined 2
登錄后復制

1-2-5 檢測元素是否存在

使用has()方法檢測目標元素是否存在,返回檢測結果的布爾值

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  m.delete('prop2'); // true  console.log(m.has('prop2'), m.has('num')); // false  true
登錄后復制

1-2-6 清除元素方法

使用clear()方法可以清除所有的元素, 返回清除成功的布爾值

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  m.clear(); // true  console.log(m); // Map(0) {}
登錄后復制

1-3 順序與迭代

map可以根據插入順序迭代元素
映射實例會提供(iterator).能夠以插入的順序生成[key, value]形式的數組, 可以通過entries()方法(或者提供的Symbol.iterator)迭代器接口遍歷。

let m = new Map();  m.set('prop', '值').set('prop2', false).set('num', {id: 13});  console.log(m.entries === m[Symbol.iterator]);// true  for(let k1 of m.entries()){     console.log(k1);     // [ 'prop', '值' ]     // [ 'prop2', false ]     // [ 'num', { id: 13 } ]     // 遍歷的屬性即對應映射元素的鍵值對數組 }  for(let k2 of m.keys()){     console.log(k2);     // prop     // prop2     // num     // 遍歷的屬性對應映射元素的鍵 }  for(let k3 of m.values()){     console.log(k3);     // 值     // false     // { id: 13 }     // 遍歷的屬性對應映射元素的值 }  for(let k4 of m[Symbol.iterator]()){     console.log(k4);     // [ 'prop', '值' ]     // [ 'prop2', false ]     // [ 'num', { id: 13 } ]     // 遍歷的屬性即對應映射元素的鍵值對數組 }
登錄后復制

1-4 與Object對比

  • 內存占用

    瀏覽器的差異會導致兩種存儲方式占用的內存占用所不同,不過在給定內存大小的情況下,map比Object多存儲大約50%的鍵值對

  • 插入性能

    插入速度上面 map 和 Object性能大致相同, 但是如果代碼涉及大量的插入,建議使用map

  • 查找速度

    差異較小,只包含少量鍵值對的情況下Object更好

  • 刪除性能

    Object 的delete()性能較差,而map的刪除delete()性能好,如果數據涉及到大量的刪除操作,建議使用map

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
亚洲乱码精品久久久久..| 亚洲精品国产综合麻豆久久99| 婷婷四月开心色房播播| 午夜成人影片在线观看免费完整高 | 东京热一区二区三区| 国产精品xxxxav| 好男人在在线社区WWW在线影院| 精品国产一区二区三区不卡| 久久综合久久鬼色| 人人妻人人做从爽精品| 我的风流岳每2部集第| 亚洲成人无码一区| 中文字幕无码专区人妻制服| 菠萝蜜一线二线三线品牌| 国产精华液一二三区别在哪| 亚洲国产精品日韩AV不卡在线| 人妻少妇伦在线无码专区视频| 挽起裙子迈开腿坐上去C黄| 亚洲精品无码久久久久APP| 中文字AV字幕在线观看| 成人无码黄动漫在线播放| 国产亚洲精品国产福APP| 久久天天躁狠狠躁夜夜网站| 人妻熟妇乱又伦精品视频| 午夜无码人妻AⅤ大片色欲李宗瑞| 亚洲综合久久精品无码色欲| ZEESEA在日本| 国产午夜福利精品久久| 两个男人吮她的花蒂和奶水视频| 日本丰满少妇高潮XXXX| 亚洲AV午夜成人影院老师机影院 | 国产成人精品A视频一区| 精品国产迷系列在线观看| 欧码的XL是亚洲码| 小SAO货水好多真紧H视频| 中文中文字幕成人无码AⅤ| 国产AⅤ精品一区二区三理论片 | 一边亲着一面膜下奶怎么回事| 宝贝乖女你的奶真大水真多 | 亚洲中国最大AV网站| 被强迫的爱人 电影| 护士猛少妇色ⅩXXXX猛叫| 欧美乱码卡1卡2卡三卡四卡| 亚洲AⅤ无码天堂在线观看| 7777久久亚洲中文字幕蜜桃| 国产欧美VA欧美VA香蕉在| 免费热播女人毛片| 午夜人妻免费视频| 99久久国产综合精品麻豆| 国产午夜无码片在线观看影院| 妺妺窝人体色WWW看美女图片| 无码人妻丰满熟妇区免费| 中国老熟女重囗味HDXX| 国产精品无码A∨果冻传媒| 嫩草影院网站进入| 亚洲AV激情无码专区在线播放| china熟女熟妇乱老女人百度| 韩国av一区二区三区| 人妻精品久久久久中文字幕一冢本| 亚洲精品久久久久无码AV片软件 | 未成满18禁止免费无码网站| 2023年新番肉食系| 果冻传媒剧国产剧在线看| 日本丰满人妻XXXXXHD| 儿子耕了母亲荒废的田清朝| 毛耸耸熟妇性XXXX交潮喷| 亚洲Aⅴ无码专区在线观看q| 宝宝好涨水快流出来免费视频| 久久精品国产亚洲AV麻豆图片| 天美传媒MV免费观看软件的特点| 37大但人文艺术A级都市天气| 黑人粗硬进入过程视频| 搡BBB搡BBBB搡BBBB| 中文字日产幕码三区的做法步骤| 国产一区二区三区导航| 日日噜噜夜夜狠狠久久蜜桃| 中字年轻漂亮的儿媳2| 精品无码成人片一区二区98| 天堂√中文最新版在线中文| HD2LINODE日本成熟IP| 久久久WWW成人免费精品| 无码专区一ⅤA亚洲V专区在线| 白嫩的18SEX少妇HD| 满18岁夜里禁用100款APP| 亚洲成AV人片在WWW鸭子| 国产成人MV在线播放| 欧美一区二区三区放荡人妇| 一区二区三区国产好的精华液| 含苞待放1ⅤLH周莹莹| 色婷婷AV一区二区三区浪潮 | 中文字幕AV一区中文字幕天堂| 机长脔到她哭H粗话H动漫| 偷拍东北熟女BBWW| 成人免费无码大片A毛片抽搐| 男女啪啪高清无遮挡免费| 亚洲综合国产精品无码AⅤ| 黑人巨大跨种族VIDEO| 婷婷色香五月综合激激情| 东京热人妻无码一区二区AV| 欧美又粗又大XXXⅩBBBB| 在床上拔萝卜视频高清免费看| 精品亚洲国产成人小电影| 亚洲AV无码精品色午夜果冻不卡| 国产成人无码A区视频在线观看| 日产乱码一二三区别免费下| JAPANESE五十路熟妇| 免费AV永久免费网址| 野花香视频在线观看免费高清版 | 亚洲日韩精品无码专区网站| 黑料不打烊吃瓜爆料| 亚欧免费无码AⅤ在线观看 | 超碰97人人做人人爱亚洲尤物| 欧美香蕉爽爽人人爽| 99精品国产再热久久无毒不卡 | 香蕉蕉亚亚洲AAV综合| 国产精品V欧美精品V日韩精品| 少妇三级全黄在线播放| 敌伦交换第21部分剧情介绍| 日本丰满熟妇BBXBBXHD| 波多野结AV衣东京热无码专区| 被公侵犯肉体中文字幕无码| 好吊色欧美一区二区三区四区| 亚洲AV成人无码一区二区三区在 | 乱中年女人伦视频国产| 又粗又黄又爽视频免费看| 久久久久久久波多野结衣高潮| 亚洲最大AV无码网址| 久久亚洲精品无码AV| 中文精品久久久久国产网址| 麻豆果冻精东九一传媒MV| 中文字字幕在线中文乱码| 女人被躁到高潮嗷嗷叫小说百度 | 国精产品自偷自偷综合下载 | 香蕉久久人人97超碰CAOPR| 国产日韩一区二区三区在线观看| 性一交一乱一乱一视频| 好爽…又高潮了毛片免费看| 亚洲第一狼人伊人AV| 久久国产乱子伦免费精品| 亚洲女人天堂成人AV在线| 久久久国产乱子伦精品| 中国蓝CHINABLUE| 欧美又粗又大XXXⅩBBBB| 成熟丰满熟妇高潮XXXXX| 天堂在\/线中文在线8| 国产男女无遮挡猛进猛出| 亚洲国产AV无码精品| 久久久久久精品免费免费SSS| 在线看片无码永久免费AV| 欧美成人精品一区二区| 成人18禁在线播放| 无码国产精品一区二区免费式影视| 国产佗精品一区二区三区| 亚洲乱码尤物193YW最新网站| 久久亚洲日韩看片无码| CHINESE树林性BBW| 少妇CHINA中国人妻VIDE| 国产三级在线观看播放视频| 亚洲欧美成人在线观看| 蜜桃久久久久久精品免费观看| JIZZ中国女人奶水多| 特级做A爰片毛片免费69| 黑人大性殖器大战欧美白妇| 野花香视频在线观看免费高清版| 欧美激情精品久久| 国产AV无码专区亚洲精品| 亚洲成人免费AV| 末发育娇小性色XXXXX视频| 成人午夜无码国产| 亚洲AV无码潮喷在线入口| 亂倫近親相姦中文字幕AV| 超碰97人人射妻| 亚洲AV综合A国产AV中文| 免费久久99精品国产自在现| 大香伊蕉AⅤ在人线国产| 亚洲AV无码一区二区三区网址| 美美女高清毛片视频免费观看| 成人免费乱码大片A毛片| 亚洲AV无码专区色爱天堂| 免费高清AV一区二区三区| 成人无码AV一区二区三区| 亚洲CHINESE男同志GAY | 久久九九兔免费精品6| XOXOXO性ⅩYY欧美人与人| 午夜精品久久久久9999| 无码8090精品久久一区| 狂野AV人人澡人人添| 饭桌上故意张开腿让公在线看| 亚洲国产精品久久精品| 欧美另类AV重囗味| 国产午夜精品理论片| 6080YYY午夜理伦三级| 无码精品一区二区三区在线| 乱人伦人成品精国产在线| 国产AV导航大全精品| 夜夜揉揉日日人人青青| 少妇厨房愉情理伦片免费| 久久综合给合久久狠狠狠88| 国产9在线 | 欧洲| 中日大胆裸体棚拍人体|