ES6 Set求兩個數組的並集、交集、差集;以及對數組去重


 

 

並集:

const arr1 = [1, 2, 3, 2, 5];
const arr2 = [1, 4, 6, 8, 3];

// 將兩個數組合並
const concatArr = [...arr1, ...arr2]; 

// 對數組去重
const set = new Set(concatArr);

const newArr = [...set]

 

交集:

const arr1 = [1, 2, 3, 2, 5];
const arr2 = [1, 4, 6, 8, 3];

const set1 = new Set(arr1);
const set2 = new Set(arr2);

const newArr = [...set1].filter(item => {
    return set2.has(item);
});

 

 

差集:

const arr1 = [1, 2, 3, 2, 5];
const arr2 = [1, 4, 6, 8, 3];

// 首先用ES6的set給數組去重:
const set1 = new Set(arr1);
const set2 = new Set(arr2);

// 然后分別取出set1中存在,set2中不存在 和 set2中存在,set1中不存在的值
const newArr1 = [...set1].filter((item) => {
    return !set2.has(item);
});
const newArr2 = [...set2].filter(item => {
    return !set1.has(item);
});

// 再將得到的兩個新數組合並,就能得到差集了
const newArr = [...newArr1,...newArr2];

 


免責聲明!

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



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