求數組的交集,並集,還有差集

最近在看阮一峯老師的《ES6 入門》

在看到Set數據結構實現數組的交集,並集還有差集,但是阮一峯老師實現差集貌似有點問題,特地來做下筆記:

const a = {fn: 1};
const set = new Set([1,1,2,2,3,4,5,5,5,a,'a']);
const b = new Set([6,7,8,9,5,4,3,'a','v']);
// 並集
const union = new Set([...set, ...b]);

// 交集
const intersect = new Set([...set].filter(x => b.has(x)));

// 差集
const difference = new Set([union].filter(x => (!set.has(x) || !b.has(x))));

最後這條代碼才能求到正確的差集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章