ES6 Set類型簡述(類似數(shù)組的一種數(shù)據(jù)結構 成員不能重復) 以及利用Set進行數(shù)組去重

Set結構和數(shù)組結構很類似 但是成員的值都是唯一的,沒有重復的值。Set 本身是一個構造函數(shù),用來生成 Set 數(shù)據(jù)結構。

Set 實例的方法分為兩大類:操作方法(用于操作數(shù)據(jù))和遍歷方法(用于遍歷成員)。

Set 實例有以下屬性:

Set.prototype.constructor:構造函數(shù),默認就是Set函數(shù)。

Set.prototype.size:返回Set實例的成員總數(shù)。

四個操作方法:

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

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

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

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

四個遍歷方法:

keys():返回鍵名的遍歷器(由于Set 有鍵值 沒鍵名 或者說鍵名和鍵值是同一個值 所以 和values()的行為一致

values():返回鍵值的遍歷器(由于Set 有鍵值 沒鍵名?或者說鍵名和鍵值是同一個值?所以 和keys()的行為一致

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

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

Set 結構的實例默認可遍歷,它的默認遍歷器生成函數(shù)就是它的values方法;這意味著,可以省略values方法,直接用for...of循環(huán)遍歷 Set。


for...of循環(huán)遍歷Set



Array.from(el)方法可以將set結構轉換為數(shù)組 el參數(shù)為set對象

利用該方法和set的特性就可以寫一個數(shù)組去重了。


利用set數(shù)組去重demo

也許還有更簡單的辦法,上面的寫了一個的function 利用Array.from();也可以試著用一個...擴展運算符來搞一下去重。


...擴展運算符的去重demo

擴展運算符...和Set的結合,讓數(shù)組的map和filter方法也可以間接用于 Set 了。利用Set 可以很容易地實現(xiàn)并集(Union)、交集(Intersect)和差集(Difference)。


擴展運算符...和Set的結合demo
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容