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

資訊專欄INFORMATION COLUMN

初探ES6中的Set和weakSet

afishhhhh / 2889人閱讀

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

Set 對象允許你存儲任何類型的唯一值,無論是原始值或者是對象引用。(不能重復)
const set1=new Set([1,2,3,4,5,6]);
console.log(set1); //Set { 1, 2, 3, 4, 5, 6 }
獲取set的值
console.log([...set1])  //[ 1, 2, 3, 4, 5, 6 ]
set1.forEach((x)=>{
    console.log(x)  //1 2 3 4 5 6
})
for(let a of set1){
    console.log(a)  //1 2 3 4 5 6
}
add(value) 方法用來向一個 Set 對象的末尾添加一個指定的值。
let mySet=new Set();
mySet.add(1);
mySet.add(2).add(3); //支持鏈式添加
console.log(mySet) //Set { 1, 2, 3 }
clear()用來清空一個Set對象中的所有元素 返回undefined
let clearSet=new Set([9,8])
console.log(clearSet)   //Set { 9, 8 }
console.log(clearSet.clear())  //undefined
delete(value) 可以從一個set對象中刪除指定的元素 ,并返回true
let delSet=new Set(["hello","word"])
console.log(delSet.delete("hello"));   //true 
console.log(delSet.delete("hi"));   //false
console.log(delSet)  //Set { "word" }
has(value) 返回一個布爾值來指示對應的值value是否存在Set對象中
let hasSet=new Set(["hi","word"])
console.log(hasSet.has("hi")); //true
console.log(hasSet.has("hello")); //false
forEach(callback) 方法根據集合中元素的順序,對每個元素都執行提供的 callback 函數一次。
let forSet=new Set([100,200,300]);
forSet.forEach(x=>{
    console.log(x)  //100 200 300 
})
entries()轉換成數組迭代器
let entries=new Set(["foobar","baz"]);
let setIter=entries.entries();
console.log(setIter.next()) //{ value: [ "foobar", "foobar" ], done: false }
console.log(setIter.next()) //{ value: [ "baz", "baz" ], done: false }
console.log(setIter.next()) //{ value: undefined, done: true }  done==true 即結束
values() 返回一個 Iterator對象
let value=new Set(["vue","react"]);
let setValue=value.values();
console.log(setValue.next());  //{ value: "vue", done: false }
console.log(setValue.next());  //{ value: "react", done: false }
console.log(setValue.next());  //{ value: undefined, done: true }
size 返回set對象的長度,類似數組的length
let size=new Set([1,2,3,{name:"1"}]);
console.log(size)  //Set { 1, 2, 3, { name: "1" } }
console.log(size.size); //4
WeakSet 對象是一些對象值的集合, 并且其中的每個對象值都只能出現一次.
它和 Set 對象的區別有兩點:
WeakSet 對象中只能存放對象引用, 不能存放值, 而 Set 對象都可以.
WeakSet 對象中存儲的對象值都是被弱引用的, 如果沒有其他的變量或屬性引用這個對象值, 則這個對象值會被當成垃圾回收掉. 正因為這樣, WeakSet 對象是無法被枚舉的, 沒有辦法拿到它包含的所有元素.
使用weakSet
var ws = new WeakSet();
var obj={name:"obj"};
add(value)在WeakSet對象后面追加一個對象
ws.add(obj);
has(value)檢查是否存在該對象
console.log(ws.has(obj)) //true
delete(value)刪除weakSet種的對象
ws.delete(obj);
console.log(ws.has(obj)) //false

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93836.html

相關文章

  • es6 SetWeakSet

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

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

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

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

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

    BetaRabbit 評論0 收藏0
  • ES6 - WeakSet

    摘要:這幾意味著,在初始化和調用的時候,都只能傳入對象類型的元素。如果給方法傳入非對象類型,會拋出錯誤。 在我們進入在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數據結構,Map與其它數據結構的互相轉換

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

    Cristalven 評論0 收藏0

發表評論

0條評論

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