日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ES6(三)——Set、WeakSet、Map、WeakMap

發布時間:2024/7/5 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ES6(三)——Set、WeakSet、Map、WeakMap 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Set的基本使用

在ES6之前,我們存儲數據的結構主要有兩種:數組、對象。

  • 在ES6中新增了另外兩種數據結構:Set、Map,以及它們的另外形式WeakSet、WeakMap。

Set是一個新增的數據結構,可以用來保存數據,類似于數組,但是和數組的區別是元素不能重復。

  • 創建Set我們需要通過Set構造函數(暫時沒有字面量創建的方式):

我們可以發現Set中存放的元素是不會重復的,那么Set有一個非常常用的功能就是給數組去重

Set的常見方法:

Set常見的屬性:

  • size:返回Set中元素的個數;

Set常用的方法:

  • add(value):添加某個元素,返回Set對象本身;

  • delete(value):從set中刪除和這個值相等的元素,返回boolean類型;

  • has(value):判斷set中是否存在某個元素,返回boolean類型;

  • clear():清空set中所有的元素,沒有返回值;

  • forEach(callback, [, thisArg]):通過forEach遍歷set;

  • 另外Set是支持for of的遍歷的

二、WeakSet使用

和Set類似的另外一個數據結構稱之為WeakSet,也是內部元素不能重復的數據結構。

那么和Set有什么區別呢?

  • 區別一:WeakSet中只能存放對象類型,不能存放基本數據類型;
  • 區別二:WeakSet對元素的引用是弱引用,如果沒有其他引用對某個對象進行引用,那么GC(垃圾回收器)可以對該對象進行回收;

    WeakSet常見的方法:
  • add(value):添加某個元素,返回WeakSet對象本身;
  • delete(value):從WeakSet中刪除和這個值相等的元素,返回boolean類型;
  • has(value):判斷WeakSet中是否存在某個元素,返回boolean類型;

WeakSet的應用

注意:WeakSet不能遍歷

  • 因為WeakSet只是對對象的弱引用,如果我們遍歷獲取到其中的元素,那么有可能造成對象不能正常的銷毀。
  • 所以存儲到WeakSet中的對象是沒辦法獲取的

那么這個東西有什么用呢?

三、Map的基本使用

另外一個新增的數據結構是Map,用于存儲映射關系。 但是我們可能會想,在之前我們可以使用對象來存儲映射關系,他們有什么區別呢?

  • 事實上我們對象存儲映射關系只能用字符串(ES6新增了Symbol)作為屬性名(key);

  • 某些情況下我們可能希望通過其他類型作為key,比如對象,這個時候會自動將對象轉成字符串來作為key;

那么我們就可以使用Map:

Map的常用方法

Map常見的屬性:

  • size:返回Map中元素的個數;

Map常見的方法:

  • set(key, value):在Map中添加key、value,并且返回整個Map對象;
  • get(key):根據key獲取Map中的value;
  • has(key):判斷是否包括某一個key,返回Boolean類型;
  • delete(key):根據key刪除一個鍵值對,返回Boolean類型;
  • clear():清空所有的元素;
  • forEach(callback, [, thisArg]):通過forEach遍歷Map;
  • Map也可以通過for of進行遍歷。

四、WeakMap的使用

和Map類型相似的另外一個數據結構稱之為WeakMap,也是以鍵值對的形式存在的。

那么和Map有什么區別呢?

  • 區別一:WeakMap的key只能使用對象,不接受其他的類型作為key

  • 區別二:WeakMap的key對對象的引用是弱引用,如果沒有其他引用引用這個對象,那么GC可以回收該對象;

WeakMap常見的方法有四個:

  • set(key, value):在Map中添加key、value,并且返回整個Map對象;
  • get(key):根據key獲取Map中的value;
  • has(key):判斷是否包括某一個key,返回Boolean類型;
  • delete(key):根據key刪除一個鍵值對,返回Boolean類型;

WeakMap的應用

注意:WeakMap也是不能遍歷的

  • 因為沒有forEach方法,也不支持通過for of的方式進行遍歷;那么我們的WeakMap有什么作用呢?

總結

以上是生活随笔為你收集整理的ES6(三)——Set、WeakSet、Map、WeakMap的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 三级麻豆 | 成人免费视频国产免费 | 少妇精品高潮欲妇又嫩中文字幕 | 亚洲av无码乱码在线观看富二代 | 中文字幕91视频 | 波多野结衣亚洲 | 亚洲一区二区日韩 | 手机av免费看 | 俺也来俺也去俺也射 | 天堂网2014| 午夜激情毛片 | 欧美日本精品 | 99热在线看 | 青草操| 亚洲色图欧美在线 | 欧美视频一 | 夜夜爽日日澡人人添 | 粉嫩av四季av绯色av | 成年人在线免费观看网站 | 狠狠做深爱婷婷综合一区 | 熟女精品一区二区三区 | 波多野 在线| 超91在线 | 中国老太婆性做爰 | 国产剧情av麻豆香蕉精品 | 操操色| 欧美国产日韩在线视频 | 午夜老司机免费视频 | 成人精品视频在线观看 | 少妇 av| 黄色污在线观看 | 国产做受高潮 | 亚洲天堂中文字幕 | 亚洲欧美电影 | 午夜天堂 | 国产高清在线视频 | 日本一区二区三区在线观看 | 奇米成人| 69视频在线观看 | 免费av在线网 | 制服诱惑一区 | 日韩xxxxxxxxx | 一区久久久 | 操天天操 | 日韩视频免费在线 | 亚洲最大的成人网站 | www.精品视频| 日韩毛片网 | 午夜羞羞影院 | 欧美性久久 | 日韩小视频在线观看 | 182tv午夜 | 四虎8848精品成人免费网站 | 亚洲美女精品视频 | 黄色片怎么看 | 深夜福利网站 | 久久中文字幕人妻 | 天天色综合久久 | 午夜成人免费视频 | 97国产精品视频 | 美女视频黄a视频全免费观看 | 成人福利在线看 | 国产资源在线看 | 韩日在线视频 | 中文视频在线 | 欧美日韩成人一区 | 毛片基地在线播放 | 手机看片福利永久 | 欧美国产一区二区 | 精品无码一区二区三区的天堂 | 日韩精品免费一区二区在线观看 | 奇米影 | 夜夜操夜夜操 | 一区二区三区视频网站 | av网站亚洲 | 国产精品黄色av | 国产不卡视频在线观看 | 香蕉视频网站入口 | gv天堂gv无码男同在线观看 | 茄子视频色 | 亚洲激情在线观看 | 精品国产一区二区三区在线 | 美女亚洲一区 | 亚洲国产v| 精品av一区二区 | 欧美一区2区三区4区公司 | 黄色三级带 | 青青免费在线视频 | 涩涩网站视频 | 黄色高清无遮挡 | 夜夜夜综合 | 91蜜桃传媒精品久久久一区二区 | 国产成人亚洲精品无码h在线 | 日韩欧 | 精品一区二区三区免费视频 | 国产盗摄一区二区三区在线 | 国产又色又爽又黄又免费 | 久久久久久午夜 | 国产超级av |