本文實例講述了ES6使用Set數據結構實現數組的交集、并集、差集功能。分享給大家供大家參考,具體如下:
Set數據結構是es6中新增的,它類似于數組,但是成員的值唯一,沒有重復值。
Set本身是一個數據結構,用來生成Set數據節后
Set數據結構的實例有4種遍歷方法:
keys()
:返回一個鍵名的遍歷器
values()
:返回一個鍵值便利器
entries()
:返回一個鍵值對便利器
forEach()
:使用回調函數遍歷每個成員
由于Set數據結構沒有鍵名,只有鍵值(或者說鍵名和鍵值是同一個值),所以keys和values方法的行為完全一致。
因此使用Set可以容易的實現交集、并集、差集
看看實現代碼:
let a=new Set([1,2,3]);let b=new Set([4,3,2]);//交集let union= [...new Set([...a,...b])];console.log(union);//并集let intersect= [...new Set([...a].filter(x=> b.has(x)))];console.log(intersect);//差集let difference= [...new Set([...a].filter(x=> !b.has(x)))];console.log(difference);
希望本文所述對大家基于ECMAScript的程序設計有所幫助。
新聞熱點
疑難解答