ES6 中的 set 用法


//定義從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]));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM