es6中Set的簡單應用——數組去重、求交集、差集


在es6中新增了Set數據結構,它與數組類似,不同的是Set中的值是唯一的。

new Set()創建實例時可以傳入數組,初始化set。

應用一:數組去重

let arr = [1,2,3,1,2]
let set = new Set(arr)
let resArr = [...set]
console.log(resArr)

或者使用數組的from()方法,將set轉換為數組

let arr = [1,2,3,1,2]
let set = new Set(arr)
let resArr = Array.from(set)
console.log(resArr)

應用二:兩個數組求交集

let arr1 = [1,2,3,1,2]
let arr2 = [1,2,4,5,1,2,4]
let set1 = new Set(arr1)
let set2 = new Set(arr2)
let sameArr = [...set1].filter(item => set2.has(item))

console.log(sameArr)

通過使用Set實例對象的has()方法,判斷set2中是否含有item,含有返回true,否則返回false

應用三,兩個數組的差集,與交集類似

let arr1 = [1,2,3,1,2]
let arr2 = [1,2,4,5,1,2,4]
let set1 = new Set(arr1)
let set2 = new Set(arr2)
let diffArr = [...set1].filter(item => !set2.has(item))

console.log(diffArr)

 


免責聲明!

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



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