//定義從var變為let 不可重復定義 let a=[1,2,3,4,5]; // Set 它類似於數組,但是成員的值都是唯一的,沒有重復的值。 let set=new Set(); Set 實例的方法分為兩大類:操作方法(用於操作數據)和遍歷方法(用於遍歷成員)。下面先介紹四個操作方法。 add(value):添加某個值,返回 Set 結構本身。 delete(value):刪除某個值,返回一個布爾值,表示刪除是否成功。 has(value):返回一個布爾值,表示該值是否為Set的成員。 clear():清除所有成員,沒有返回值。 Array.from方法可以將 Set 結構轉為數組。 Set 結構的實例有四個遍歷方法,可以用於遍歷成員。 keys():返回鍵名的遍歷器 values():返回鍵值的遍歷器 entries():返回鍵值對的遍歷器 forEach():使用回調函數遍歷每個成員 需要特別指出的是,Set的遍歷順序就是插入順序。 由於 Set 結構沒有鍵名,只有鍵值(或者說鍵名和鍵值是同一個值),所以keys方法和values方法的行為完全一致。 Set 結構的實例默認可遍歷,它的默認遍歷器生成函數就是它的values方法。 這意味着,可以省略values方法,直接用for...of循環遍歷 Set。 擴展運算符(...)內部使用for...of循環,所以也可以用於 Set 結構。 舉例 //1 數組去重 let a=[1,2,3,4,5,6,7,1,2,3]; let b=new Set([...a]); b=[...b]; // 2 求交集 並集 差集 let a=new Set[1,2,3]; let b=new Set[3,4,5]; //交集 let c=new Set([...a,...b]); //並集 let d=new Set([...a].filter(x=>b.has[x])); //交集 let d=new Set([...a].filter(x=>!b.has[x]));