您好,登錄后才能下訂單哦!
本篇內容介紹了“es6的set怎么用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
set的意思為“集合”,是ES6提供的新數據結構,類似于數組,但是成員的值都是唯一的,沒有重復的值。Set對象允許用戶存儲任何類型的唯一值,無論是原始值或者是對象引用。
本教程操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。
Set是什么?
Set(集合) 是 ES6 提供的新的數據結構,類似于數組,但是成員的值都是唯一的,沒有重復的值。
Set 對象允許你存儲任何類型的唯一值,無論是原始值或者是對象引用。
Set本身是一個構造函數,用來生成Set數據結構。
Set 中的特殊值:
Set 對象存儲的值總是唯一的,所以需要判斷兩個值是否恒等。有幾個特殊值需要特殊對待:
+0 與 -0 在存儲判斷唯一性的時候是恒等的,所以不重復;
undefined 與 undefined 是恒等的,所以不重復;
NaN 與 NaN 是不恒等的,但是在 Set 中只能存一個,不重復。
Set 使用情形
1、用于數組去重
let arr = [3, 5, 2, 2, 5, 5]; let setArr = new Set(arr) // 返回set數據結構 Set(3) {3, 5, 2} //方法一 es6的...解構 let unique1 = [...setArr ]; //去重轉數組后 [3,5,2] //方法二 Array.from()解析類數組為數組 let unique2 = Array.from(setArr ) //去重轉數組后 [3,5,2]
2、用于字符串去重
let str = "352255"; let unique = [...new Set(str)].join(""); // 352
3、實現交集、并集、差集
let a = new Set([1, 2, 3]); let b = new Set([4, 3, 2]); // 并集 let union = new Set([...a, ...b]); // Set {1, 2, 3, 4} // 交集 let intersect = new Set([...a].filter(x => b.has(x))); // set {2, 3} // (a 相對于 b 的)差集 let difference = new Set([...a].filter(x => !b.has(x))); // Set {1}
“es6的set怎么用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。