中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

ES6中如何使用Set和WeakSet
來源:易賢網 閱讀:1269 次 日期:2016-07-21 14:47:42
溫馨提示:易賢網小編為您整理了“ES6中如何使用Set和WeakSet”,方便廣大網友查閱!

這篇文章主要為大家介紹了node.js基礎模塊http、網頁分析工具cherrio實現爬蟲的相關資料,需要的朋友可以參考下

ES6中提供了兩新數據結構-Set和WeakSet。Set是類似于數組,但是成員變量的值都是唯一的,沒有重復的值。WeakSet也是不重復的值的集合,但是只能用來存放對象。

一、Set使用

(1)Set本身提供了一個構造函數,用來生成Set數據結構。

var s = new Set();

[2,2,2,5,8,16,2,1].map(x => s.add(x))

for(i of s){console.log(i)}

//2,5,8,16,1

(2)Set()函數可以接受一個數組,作為構造參數,用于做初始化。

var s = new Set([1,2,3,4,2,4,3]);

[...s]

//[1,2,3,4]

注意:向Set中加入值的時候不會發生類型轉換,所以5和”5”是兩個不同的值,Set內部判斷兩個值是否相等,使用的是 ===,這就意味著這兩個對象總是不相等。唯一列外的是NaN本身(精確相等運算符認為NaN不等于自身)

let set = new Set();

set.add({})

set.size//1

set.add({})

set.size//2

則,上面的代碼表示,由于這兩個空對象不是精確相等,所以是兩個不同的值。

(3)Set的方法和屬性

(3.1)Set的屬性

Set.prototype.size:返回Set實例的成員數量。

Set.prototype.constructor:默認的構造Set函數。

(3.2)Set的操作啊函數

add(value):添加某個值,返回Set結構本身。

delete(value):刪除某個值,返回一個布爾值,表示刪除成功。

has(value):返回一個布爾值,表示參數是否為Set的成員。

clear():清除所有成員,沒有返回值。

var set = new Set();

set.add(1).add(2).add(22).add(22);

set.size//3

set.hae(22)//true

set.has(4)//false

set.delete(2)//true

(3.3)Set遍歷操作

Set有四個遍歷方法。可以用于遍歷成員。

keys() :返回一個鍵名的遍歷器

values() :返回一個值的遍歷器

entries() :返回一個鍵值對的遍歷器

forEach():使用回調函數遍歷每個成員

注意:由于Set沒有鍵名,只有值名,keys()和values()返回的結果是一樣,

let set = new Set(['red','green','blue']);

for(let item of set.keys()){

console.log(item);

}

//red,green,blue

for(let item of set.values()){

console.log(item);

}

//red,green,blue

for(let item of set.entries()){

console.log(item);

}

//["red","red"]

//["green","green"]

//["blue","blue"]

//所以,entries方法返回的遍歷器同時包括鍵名和值,所以每次輸出的是一個數組。其實成員都是完全一樣的。

注意:Set默認的可遍歷,其默認遍歷器生成函數就是它的values方法。

這就意味著,可以省略values方法,直接用for…of遍歷。

var set = new Set([1,2,3,4]);

for(let x of set){

console.log(x);

}

//1

//2

//3

//4

如果使用擴展運算符(…)內部使用for…of 循環,所以也可以用于Set結構。

let set = new Set(['red','green','blue']);

let arr = [...set];

//['red','green','blue'];

(3.4)Set實現并集,交集,差集

let set1 = new Set([1,2,3,4,5,6]);

let set2 = new Set([4,5,6,7,8,9]);

//并集

let union = new Set([...set1,...set2]);

//[1,2,3,4,5,6,7,8,9]

//交集

let intersect = new Set([...set1].filter(x => b.has(s)));

//[4,5,6]

//差集

let intersect = new Set([...set1].filter(x => !b.has(s)));

//[1,2,3,4]

(3.5)Set實現forEach的使用

let set = new Set([1,2,3,4,5,6]);

set.forEach(value,key)=>consloe.log(vlaue+1);

//2

//3

//4

//5

//6

//7

注意:forEach方法的參數就是一個處理函數,該函數依次為(鍵值,鍵名)集合本身。另外,forEach方法還有第二個參數,表示綁定this的對象。

二、WeakSet使用

WeakSet類似于Set,也是不重復的值的集合。但是它只能用于存儲對象。而不能是其他類型的值。

WeakSet是一個個構造函數。可以接受數組和類似數組的對象作為參數。(實際上,任何具作為iterable接口的對象都可以作為WeakSet的參數)。該數組的所有成員都會自動成為WeakSet的實例對象的成員。

var a = new [[1,2],[3,4]];

var ws = new WeakSet(a);

var ws = new WeakSet();

ws.add(1);//TypeError:Invalid value used in weak set

ws.add(Symbol);//TypeError:Invalid value used in weak set

添如一個數值和一個Symbol,結果同時報錯。

WeakSet結構有以下的上方法

WeakSet.protoptype.add(value):向WeakSet實例添加一個新成員。

WeakSet.protoptype.delete(value):刪除WeakSet實例指定成員。

WeakSet.protoptype.has(value):返回一個布爾值,表示某個值是否在WeakSet實例中。

var ws = new WeakSet();

var obj = {};

var foo = {};

ws.add(window);

ws.add(obj);

ws.has(window);//true

ws.has(foo);false

ws.delete(window);//true

ws.has(window);//false

WeakSet 不能遍歷,是因為成員都是弱引用,隨時可能消失,遍歷不能保證成員的存在。可能剛剛遍歷結束,成員就取不到了。WeakSet的一個用處是存儲DOM節點,而不用擔心這些節點從文檔移除時,會引起內存的泄露。

更多信息請查看網絡編程
易賢網手機網站地址:ES6中如何使用Set和WeakSet
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久婷婷亚洲| 久久精品麻豆| 国产精品视频导航| 国产精品视频久久久| 国产在线国偷精品产拍免费yy| 国产精品成人一区二区艾草| 国产亚洲午夜| 在线视频欧美一区| 久久久91精品国产| 欧美日韩激情网| 国产亚洲人成a一在线v站| 亚洲欧洲偷拍精品| 久久精品国产v日韩v亚洲| 欧美日韩另类字幕中文| 国产自产v一区二区三区c| 在线亚洲欧美| 牛牛精品成人免费视频| 在线不卡视频| 久久美女性网| 国产一区二区成人| 性8sex亚洲区入口| 国产免费成人av| 欧美一区二区三区久久精品茉莉花 | 亚洲伊人网站| 国产精品久久久久久久久久妞妞| 精品动漫3d一区二区三区免费版| 亚洲欧美成人综合| 国产精品青草久久| 亚洲一区综合| 伊人久久婷婷色综合98网| 久久精品99无色码中文字幕 | 欧美a级片网| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美一区二区三区四区在线| 国产精品区免费视频| 午夜精品久久久久久久白皮肤| 国产精品久久77777| 欧美亚洲三区| 亚洲欧洲在线看| 国产农村妇女精品| 欧美成人在线影院| 亚洲一区二区三区免费视频 | 国产视频欧美| 狼人天天伊人久久| 中文精品视频一区二区在线观看| 欧美日韩国产一级| 制服丝袜亚洲播放| 在线观看福利一区| 国产精品a级| 欧美激情一区二区在线| 欧美一区二视频在线免费观看| 伊人久久综合97精品| 国产精品国产三级国产专区53| 麻豆国产精品一区二区三区 | 国产精品久久久久久久久免费桃花| 久久成人精品一区二区三区| 亚洲精选久久| 在线观看欧美| 国产一区二区三区最好精华液| 欧美三日本三级少妇三99| 欧美顶级少妇做爰| 看片网站欧美日韩| 久久国产精品色婷婷| 亚洲影音先锋| 亚欧成人在线| 久久精品国产精品亚洲综合| 亚洲欧美国产制服动漫| 一区二区三区蜜桃网| 在线一区二区视频| 亚洲深夜影院| 亚洲欧美综合| 久久久久亚洲综合| 欧美91大片| 国产精品xxxxx| 国产欧美精品| 激情久久综合| 日韩午夜av| 亚洲性视频网址| 亚洲色诱最新| 亚洲一区视频在线| 久久国产一二区| 久久一区二区三区四区| 欧美大片在线影院| 欧美婷婷久久| 亚洲第一主播视频| 一区二区成人精品| 欧美自拍偷拍午夜视频| 麻豆成人综合网| 欧美午夜精品一区二区三区| 国产伊人精品| 亚洲一区二区动漫| 欧美成人久久| 狠狠色综合网站久久久久久久| 亚洲理论电影网| 久热成人在线视频| 国产热re99久久6国产精品| 日韩视频一区二区三区| 久久精品国产99国产精品| 欧美日韩在线电影| 亚洲国产成人porn| 欧美一区三区三区高中清蜜桃| 欧美久久影院| 亚洲第一区在线观看| 欧美影院一区| 狠狠爱成人网| 麻豆精品在线观看| 亚洲福利国产精品| 欧美成人69av| 精品成人在线视频| 久久福利电影| 狠狠色丁香久久婷婷综合_中| 亚洲欧美www| 国产亚洲aⅴaaaaaa毛片| 老牛国产精品一区的观看方式| 99精品福利视频| 国产精品激情电影| 亚洲欧美中文另类| 国产在线不卡| 男人的天堂亚洲| 亚洲精品视频在线观看网站 | 狠狠色狠狠色综合日日91app| 亚洲一区二区三区四区五区午夜 | 亚洲黄色三级| 欧美14一18处毛片| 一区二区三区久久精品| 国产精品视频网站| 久久精品欧美| 日韩一级精品| 国产亚洲观看| 欧美日本一区| 久久精品人人做人人爽| 亚洲国产天堂网精品网站| 欧美精品videossex性护士| 一区二区三区视频观看| 国产亚洲精品久久久| 欧美黄色视屏| 久久久久国产精品麻豆ai换脸 | 日韩视频一区二区三区在线播放免费观看 | 欧美激情1区| 艳妇臀荡乳欲伦亚洲一区| 国产亚洲一区二区在线观看 | 欧美三级视频在线播放| 亚洲欧美日韩综合国产aⅴ| 国产在线不卡| 国产乱人伦精品一区二区| 免费观看成人网| 午夜精品电影| 亚洲一区二区av电影| 亚洲欧美在线高清| 国产亚洲美州欧州综合国| 欧美日韩一区二区三区四区在线观看 | av成人免费| 最新日韩在线| 亚洲二区在线观看| 尤妮丝一区二区裸体视频| 国产综合色在线| 国产欧美日韩专区发布| 国产精品地址| 国产欧美精品国产国产专区| 国产欧亚日韩视频| 国产曰批免费观看久久久| 怡红院精品视频| 亚洲经典自拍| 亚洲一区二区三区涩| 小嫩嫩精品导航| 免费成人黄色片| 欧美日韩三级| 国产一区二区中文字幕免费看| 黄色日韩网站| 在线亚洲高清视频| 久久高清福利视频| 欧美韩日高清| 国产女人水真多18毛片18精品视频| 国产网站欧美日韩免费精品在线观看| 一区二区亚洲欧洲国产日韩| 一区二区日韩伦理片| 久久综合久久综合这里只有精品| 欧美日韩国产综合网| 国产一区二区三区av电影 | 国内成人精品一区| 亚洲国产一二三| 另类激情亚洲| 国内在线观看一区二区三区| 亚洲综合第一| 欧美四级剧情无删版影片| 亚洲欧洲一区二区在线观看 | 亚洲国产清纯| 国模私拍一区二区三区| 中文久久精品| 欧美色视频一区| 亚洲第一色中文字幕| 亚洲国产精品久久久久秋霞蜜臀| 亚洲视频碰碰| 欧美日韩成人在线| 亚洲精品在线电影| 欧美国产日韩视频| 国产在线精品成人一区二区三区| 亚洲美女电影在线| 另类成人小视频在线| 狠狠色伊人亚洲综合成人|