国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

初探ES6中的Set和weakSet

afishhhhh / 2895人閱讀

摘要:對象允許你存儲任何類型的唯一值,無論是原始值或者是對象引用。不能重復獲取的值方法用來向一個對象的末尾添加一個指定的值。

Set 對象允許你存儲任何類型的唯一值,無論是原始值或者是對象引用。(不能重復)

</>復制代碼

  1. const set1=new Set([1,2,3,4,5,6]);
  2. console.log(set1); //Set { 1, 2, 3, 4, 5, 6 }
獲取set的值

</>復制代碼

  1. console.log([...set1]) //[ 1, 2, 3, 4, 5, 6 ]
  2. set1.forEach((x)=>{
  3. console.log(x) //1 2 3 4 5 6
  4. })
  5. for(let a of set1){
  6. console.log(a) //1 2 3 4 5 6
  7. }
add(value) 方法用來向一個 Set 對象的末尾添加一個指定的值。

</>復制代碼

  1. let mySet=new Set();
  2. mySet.add(1);
  3. mySet.add(2).add(3); //支持鏈式添加
  4. console.log(mySet) //Set { 1, 2, 3 }
clear()用來清空一個Set對象中的所有元素 返回undefined

</>復制代碼

  1. let clearSet=new Set([9,8])
  2. console.log(clearSet) //Set { 9, 8 }
  3. console.log(clearSet.clear()) //undefined
delete(value) 可以從一個set對象中刪除指定的元素 ,并返回true

</>復制代碼

  1. let delSet=new Set(["hello","word"])
  2. console.log(delSet.delete("hello")); //true
  3. console.log(delSet.delete("hi")); //false
  4. console.log(delSet) //Set { "word" }
has(value) 返回一個布爾值來指示對應的值value是否存在Set對象中

</>復制代碼

  1. let hasSet=new Set(["hi","word"])
  2. console.log(hasSet.has("hi")); //true
  3. console.log(hasSet.has("hello")); //false
forEach(callback) 方法根據(jù)集合中元素的順序,對每個元素都執(zhí)行提供的 callback 函數(shù)一次。

</>復制代碼

  1. let forSet=new Set([100,200,300]);
  2. forSet.forEach(x=>{
  3. console.log(x) //100 200 300
  4. })
entries()轉(zhuǎn)換成數(shù)組迭代器

</>復制代碼

  1. let entries=new Set(["foobar","baz"]);
  2. let setIter=entries.entries();
  3. console.log(setIter.next()) //{ value: [ "foobar", "foobar" ], done: false }
  4. console.log(setIter.next()) //{ value: [ "baz", "baz" ], done: false }
  5. console.log(setIter.next()) //{ value: undefined, done: true } done==true 即結(jié)束
values() 返回一個 Iterator對象

</>復制代碼

  1. let value=new Set(["vue","react"]);
  2. let setValue=value.values();
  3. console.log(setValue.next()); //{ value: "vue", done: false }
  4. console.log(setValue.next()); //{ value: "react", done: false }
  5. console.log(setValue.next()); //{ value: undefined, done: true }
size 返回set對象的長度,類似數(shù)組的length

</>復制代碼

  1. let size=new Set([1,2,3,{name:"1"}]);
  2. console.log(size) //Set { 1, 2, 3, { name: "1" } }
  3. console.log(size.size); //4
WeakSet 對象是一些對象值的集合, 并且其中的每個對象值都只能出現(xiàn)一次.
它和 Set 對象的區(qū)別有兩點:
WeakSet 對象中只能存放對象引用, 不能存放值, 而 Set 對象都可以.
WeakSet 對象中存儲的對象值都是被弱引用的, 如果沒有其他的變量或?qū)傩砸眠@個對象值, 則這個對象值會被當成垃圾回收掉. 正因為這樣, WeakSet 對象是無法被枚舉的, 沒有辦法拿到它包含的所有元素.
使用weakSet

</>復制代碼

  1. var ws = new WeakSet();
  2. var obj={name:"obj"};
add(value)在WeakSet對象后面追加一個對象

</>復制代碼

  1. ws.add(obj);
has(value)檢查是否存在該對象

</>復制代碼

  1. console.log(ws.has(obj)) //true
delete(value)刪除weakSet種的對象

</>復制代碼

  1. ws.delete(obj);
  2. console.log(ws.has(obj)) //false

每天進步一點,希望大家喜歡,也希望喜歡的朋友點個贊,后續(xù)繼續(xù)更新...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/93836.html

相關(guān)文章

  • es6 SetWeakSet

    摘要:返回一個布爾值,表示該值是否為的成員。清除所有成員,沒有返回值。上面代碼中,方法返回的遍歷器,同時包括鍵名和鍵值,所以每次輸出一個數(shù)組,它的兩個成員完全相等。因此,適合臨時存放一組對象,以及存放跟對象綁定的信息。 Js大部分歷史時期都只存在一種集合類型,也就是數(shù)組類型。數(shù)組在 JS 中的使用正如其他語言的數(shù)組一樣,但缺少更多類型的集合導致數(shù)組也經(jīng)常被當作隊列與棧來使用。數(shù)組只使用了數(shù)值...

    marser 評論0 收藏0
  • 細說es6中的SetMap

    摘要:返回一個布爾值,表示該值是否為的成員。返回鍵名的遍歷器返回鍵值的遍歷器返回鍵值對的遍歷器使用回調(diào)函數(shù)遍歷每個成員需要特別指出的是,的遍歷順序就是插入順序。該數(shù)組的所有成員,都會自動成為實例對象的成員。這意味著,數(shù)組的成員只能是對象。 1.Set ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復的值。Set 本身是一個構(gòu)造函數(shù),用來生成 Set 數(shù)據(jù)結(jié)構(gòu)...

    Ryan_Li 評論0 收藏0
  • 帶你入門 JavaScript ES6 (五) 集合

    摘要:一概述集合是引入的新的內(nèi)置對象類型,其特點同數(shù)學意義的集合,即集合內(nèi)所有元素不重復元素唯一。數(shù)組集合對比數(shù)組和集合,數(shù)組可以加入重復數(shù)據(jù),而集合的所有元素是唯一的不允許重復。因此,適合臨時存放一組對象,以及存放跟對象綁定的信息。 本文同步帶你入門 帶你入門 JavaScript ES6 (五) 集合,轉(zhuǎn)載請注明出處。 前面我們學習了: for of 變量和擴展語法 塊作用域變量和解構(gòu)...

    BetaRabbit 評論0 收藏0
  • ES6 - WeakSet

    摘要:這幾意味著,在初始化和調(diào)用的時候,都只能傳入對象類型的元素。如果給方法傳入非對象類型,會拋出錯誤。 在我們進入在WeakSet的使用之前,我們先來看一個用Set來存儲對象引用的例子: let set = new Set(); let key = {}; set.add(key); key = null; console.log(set.size); // 1 console.log([...

    Jiavan 評論0 收藏0
  • 深入理解:ES6中的SetMap數(shù)據(jù)結(jié)構(gòu),Map與其它數(shù)據(jù)結(jié)構(gòu)的互相轉(zhuǎn)換

    摘要:學習筆記工作中常用到的語法只是簡單提及和,今天有空于是寫了這篇文章深入理解中的和數(shù)據(jù)結(jié)構(gòu),與其它數(shù)據(jù)結(jié)構(gòu)的互相轉(zhuǎn)換。的提供了新的數(shù)據(jù)結(jié)構(gòu)。本身是一個構(gòu)造函數(shù),用來生成數(shù)據(jù)結(jié)構(gòu)。 文中的內(nèi)容主要是來自于阮一峰的《ES6標準入門》(第三版)。《學習ES6筆記──工作中常用到的ES6語法》只是簡單提及Set和Map,今天有空于是寫了這篇文章──《深入理解:ES6中的Set和Map數(shù)據(jù)結(jié)構(gòu),M...

    Cristalven 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<