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。

Array.from(el)方法可以將set結構轉換為數(shù)組 el參數(shù)為set對象
利用該方法和set的特性就可以寫一個數(shù)組去重了。

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

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