ES6:Set和Map

Set

Set:類似數組,但是成員的值都是唯一的,沒有重復。
Set本身是一個構造函數,用來生成Set數據結構。
他包含的方法:
add: 添加某個值,返回Set結構本身。
delete: 刪除某個值,返回一個布爾值,表示是否成功;
has(value): 返回布爾值,表示該值是否為Set的成員;
clear():清除所有成員,沒有返回值
遍歷操作
keys():返回鍵名的遍歷器
values(): 返回健值對的遍歷器
entries():返回鍵值對的遍歷器
forEach(): 每個成員

WeakSet

他與Set類似,但是也有區別
1.weakSet的成員只能是對象,不能是其他類型的值
2.weakSet對象都是弱引用。如果其他對象不再引用該對象,那么垃圾回收機制會自動回收該對象所占的內存,所以WeakSet是不可遍歷的。

WeakSet結構的三個方法
add
delete
has
WeakSet的一個用處是儲存DOM節點,而不用擔心這些節點會從文檔中移除時,會引發內存泄露。

Map

他是鍵值對的集合(Hash結構)。他與Object結構的區別是:Object是一種“字符串-值”的對應,Map是“值-值”的對應。所以當需要“鍵值對”這樣的數據結構時,Map比Object更合適。
他的方法:
set(key, value)
get(key)
has(key)
delete(key)
clear()
遍歷方法
keys()
values()
entries()
forEach()

WeakMap

WeakMap跟Map結構基本類似,區別是只接受對象(null除外)作為鍵名,不接受其他類型的值作為鍵名,而且鍵名所指向的對象,不計入垃圾回收機制。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456981.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456981.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456981.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

九九乘法表[循環嵌套]

#九九乘法表 # 1*11 # 1*22 2*24 # 1*33 2*36 3*39 # ...#循環嵌套 #行數 i 1 while i < 9:# 打印每行的內容j 1while j < i:print("%d * %d %3d " % (i, j, i * j), end)j 1print() # 換行i 1while嵌套&#xff1a;w 1 while w < 10: #外層循…

關于用VS寫C程序運行時出現燙字以及亂碼的問題的原因

最近在復習C語言寫程序時&#xff0c;突然碰到標題上的這種情況&#xff0c;后來經過上網查找以及逐步調試才發現原來是在打印數組的時候“越界”導致的&#xff0c;因為程序在默認初始化char類型的數組時&#xff0c;初始化的值是“燙”字&#xff0c;一般情況下是字符串未初始…

javascript函數調用的各種方法!!

在JavaScript中一共有下面4種調用方式&#xff1a; (1) 基本函數調用 (2)方法調用 (3)構造器調用 (4)通過call()和apply()進行調用 1. 基本函數調用 普通函數調用模式&#xff0c;如&#xff1a; JavaScript code?1234function fn(o){…… }fn({x:1});在基本函數調用中&#x…

ARM TK1 安裝kinect驅動

首先安裝usb庫 $ git clone https://github.com/libusb/libusb.git 編譯libusb需要的工具 $ sudo apt-get install autoconf autogen $ sudo apt-get install libtool $ sudo apt-get install libudev* 編譯安裝 $ sudo ./autogen.sh $ sudo make $ sudo make install $ sudo l…

如何在一個html頁面中提交兩個post,如何在同一個頁面上從Django和Ajax獲得多個post請求?...

我一整天都在為這事犯愁。似乎什么都沒用。這是我的情況。在我有一個Django表單&#xff0c;有兩個字段&#xff1a;redirect_from&#xff0c;redirect_to。此表單有兩個提交按鈕&#xff1a;Validate和{}。當頁面加載時&#xff0c;Submit被隱藏&#xff0c;只顯示Validate。…

大數據入門:各種大數據技術的介紹

大數據我們都知道hadoop&#xff0c;可是還會各種各樣的技術進入我們的視野&#xff1a;Spark&#xff0c;Storm&#xff0c;impala&#xff0c;讓我們都反映不過來。為了能夠更好的架構大數據項目&#xff0c;這里整理一下&#xff0c;供技術人員&#xff0c;項目經理&#xf…

高可用與負載均衡(5)之基于客戶端的負載均衡

什么是客戶端負載均衡 基于客戶端的負載均衡&#xff0c;簡單的說就是在客戶端程序里面&#xff0c;自己設定一個調度算法&#xff0c;在向服務器發起請求的時候&#xff0c;先執行調度算法計算出向哪臺服務器發起請求&#xff0c;然后再發起請求給服務器。 基于客戶端負載均衡…

Variant 與 內存泄露

http://blog.chinaunix.net/uid-10386087-id-2959221.html 今天遇到一個內存泄露的問題。是師兄檢測出來的。Variant類型在使用后要Clear否則會造成內存泄露&#xff0c;為什么呢&#xff1f; Google一下找到下面一篇文章&#xff0c;主要介紹了Com的內存泄露&#xff0c;中間有…

安裝安全類軟件進行了android簽名漏洞修補,魅族MX3怎么升級固件體驗最新比較穩定的版本...

魅族mx3固件怎么升級?flyme os系統會持續更新&#xff0c;升級魅族MX3手機系統需先下載MX3的升級固件&#xff0c;升級固件分為體驗版和穩定版。魅族MX3固件有體驗版和穩定版兩種&#xff0c;顧名思義&#xff0c;體驗版為最新版但相比穩定版來說存在更多的漏洞&#xff0c;升…

linux su切換用戶提示Authentication failture的解決辦法

由于ubtun系統默認是沒有激活root用戶的&#xff0c;需要我們手工進行操作&#xff0c;在命令行界面下&#xff0c;或者在終端中輸入如下命令&#xff1a; sudo passwd Password&#xff1a;你當前的密碼 Enter new UNIX password&#xff1a;這個是root的密碼 Retype new …

@property

class Person(object):def __init__(self, name,age):#屬性直接對外暴露#self.age age#限制訪問self.__age ageself.__name namedef getAge(self):return self.__agedef setAge(self,age):if age<0:age 0self.__age age#方法名為受限制的變量去掉雙下劃線propertydef a…

ubuntu入門知識

1、linux系統發展歷史 unix -> Linux -> ubuntu linux發展軌跡圖 2、ubuntu下載和安裝 推薦使用長期支持版本&#xff1a; 10.04,12.04,14.04或LTS版本 安裝環境VMware虛擬機 3、安裝之后創建root sudo passwd root 輸入root用戶密碼即可 4、安裝軟件&#xff1a; 更新軟…

html 二級試題,計算機二級考試WEB試題及答案

計算機二級考試WEB試題及答案當前主要的 WEB數據庫訪問技術有哪些?答&#xff1a;到目前為止&#xff0c;WEB數據庫訪問技術主要分為兩大類&#xff1a;(1)公共網關接口技術(CGI);CGI 是 WEB 服務器運行時外部程序的規范&#xff0c;按照 CGI 編寫的程序可以擴展服務器的功能&…

細數阿里云服務器的十二種典型應用場景

原文鏈接&#xff1a;http://click.aliyun.com/m/13910/免費開通大數據服務&#xff1a;https://www.aliyun.com/product/odps文章轉載&#xff1a;小白楊1990如今&#xff0c;阿里云的產品可謂是多種多樣&#xff0c;紛繁復雜。面對各種各樣的技術和產品&#xff0c;ECS、RDS、…

動態給實例添加屬性和方法

from types import MethodType#創建一個空類 class Person(object):__slots__ ("name","age","speak","height")per Person() #動態添加屬性&#xff0c;這體現了動態語言的特點(靈活&#xff09;per.name "tom" print(…

android導入項目出現style錯誤,menu錯誤

android導入項目出現style錯誤&#xff0c;menu錯誤 style //查看 res/values/styles.xml 下的報錯點。<style name"AppBaseTheme" parent"Theme.AppCompat.Light"> //把這個改成 <style name"AppBaseTheme" parent"android:The…

Vim的基本操作總結

最近在學習Linux基礎的時候&#xff0c;對Vim的基本操作時遇到很多問題&#xff0c;如編輯錯誤&#xff0c;無法退出Vim等。通過一系列的學習后才解決了這些問題&#xff0c;希望這個過程能對后來者有所幫助 先對Vim的三種模式做個大致的介紹&#xff1a; Vi有三種基本工作模式…

html股票數據代碼,股票數據的網站抓取(4.2)代碼優化

#codingutf-8from selenium import webdriverimport timeimport osimport reimport sysimport threadingimport Queueimport Tkinter as tkfrom selenium.common.exceptions import NoSuchElementExceptiondef myinit():reload(sys)sys.setdefaultencoding(utf8)#獲取屏幕分辨率…

對象屬性和類屬性

class Person(object):#這里的屬性實際上屬于類屬性&#xff08;用類名調用&#xff09;name "person"def __init__(self,name):#對象屬性self.name nameprint(Person.name) per Person("tom") #對象屬性的優先級高于類屬性 print(per.name) #動態的給對…

commons-fileupload、smartUpload和commons-net-ftp

1.本地上傳 在許多Web站點應用中都需要為用戶提供通過瀏覽器上傳文檔資料的功能&#xff0c;例如&#xff0c;上傳個人相片、共享資料等。在DRP中&#xff0c;就有這個一個功能&#xff0c;需要將對應的物料圖片上傳并顯示。對于上傳功能&#xff0c;其實在瀏覽器端提供了很好的…