es6中的Set 實現並集(Union)、交集(Intersect)和差集(Difference)

ES6 提供了新的數據結構 Set。它類似於數組,但是成員的值都是唯一的,沒有重複的值。
Set本身是一個構造函數,用來生成 Set 數據結構。數組的map和filter方法也可以間接用於 Set 了。因此使用 Set 可以很容易地實現並集(Union)、交集(Intersect)和差集(Difference)。

let a = new Set(["北京", "上海", "深圳"]);
let b = new Set(["廣州", "深圳", "上海"]);
 
// 並集
let union = new Set([...a, ...b]);
// Set {"北京", "上海", "深圳", "廣州"}
 
// 交集
let intersect = new Set([...a].filter(item => b.has(item)));
// set {"上海", "深圳"}
 
// 差集
let difference1 = new Set([...a].filter(item => !b.has(item)));
// Set {"北京"}
let difference2 = new Set([...b].filter(item => !a.has(item)));
// Set {"廣州"}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章