ES6 -- new Set()之去重,交集,並集等


首先,要記住的是:數據結構Set內成員的值都是唯一的,沒有重復的值

Set對象常用的用法

 1.數組去重

var arr = [1,2,3,2,1,4];
[...new Set(arr)]   //結果為 [1, 2, 3, 4]
或者
Array.from(new Set(arr)); //結果為 [1, 2, 3, 4]

 小貼士: ES6內的方法Array.from()方法就是將一個類數組對象或者可遍歷對象轉換成一個真正的數組。所謂類數組對象,最基本的要求就是具有length屬性的對象。

        2. 字符串重復字符去重

let a = 'abcdefabcdef';
[...new Set(a)].join('');  //"abcdef"
let a = '東方大道東方大道';
[...new Set(a)].join('');   //"東方大道"

         3. 兩數組取並集

let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
// 並集
let union = new Set([...a, ...b]);  // Set {1, 2, 3, 4}

         4. 兩數組取交集

let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
 // 交集
let intersect = new Set([...a].filter(x => b.has(x)));  // set {2, 3}

        5.(a 相對於 b 的)差集

let a = new Set([1, 2, 3]);
let b = new Set([4, 3, 2]);
 // (a 相對於 b 的)差集
let difference = new Set([...a].filter(x => !b.has(x)));  // Set {1}

 


免責聲明!

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



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