set,存放不重复数据的集合类型
生活随笔
收集整理的這篇文章主要介紹了
set,存放不重复数据的集合类型
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一直以來,JS只能使用數組和對象來保存多個數據,缺乏像其他語言那樣擁有豐富的集合類型。因此ES6新增了兩種集合類型(map和set),用在不同的場景中發揮作用。其中,set用于存放不重復的數據
目錄
1.set集合的創建
?2.對set集合進行后續的操作
3.與數組進行交換
?4.遍歷
1.set集合的創建
【例1】
//方法1:創建一個沒有任何內容的set集合 const s1 = new Set(); console.log(s1); //方法2:創建一個具有初始內容的set集合,內容來自于可迭代對象每一次迭代的結果 const s2 = new Set("abcdabcd"); console.log(s2);【結果】
?2.對set集合進行后續的操作
1)add(數據):添加一個數據到set集合末尾,如果數據已存在,則不進行任何操作
2)set使用Object.is的方式來判斷兩個數據是否相同,但是,針對+0和-0,set認為是相等的
【例2】
const s1 = new Set(); s1.add(1); s1.add(2); s1.add(1); //無效 s1.add(+0); s1.add(-0); //無效 console.log(s1);【結果】
?3)has(數據):判斷set中是否存在對應的數據
4)delete(數據):刪除匹配的數據,返回是否刪除成功
5)clear():清空整個set集合
6)size:獲取set集合中的元素數量,只讀屬性,無法重新賦值
3.與數組進行交換
【例3】數組去重
const arr = [1,3,46,75,24,66,3,46,87]; console.log('arr:',arr) const s = new Set(arr); const result = [...s]; console.log('去重后:',result);【結果】
?4.遍歷
1)使用for-of循環
【例4】
const s1 = new Set("12345"); console.log(s1); for (const iterator of s1) {console.log(iterator); }【結果】
?2)使用set中的實例方法forEach
【例5】
const s1 = new Set("12345"); s1.forEach((item, index, s) => {console.log('item:',item,'index:', index,'set:', s); })【結果】
【注】set集合中不存在下標,因此forEach中的回調的第二個參數和第一個參數是一致的,均表示set中的每一項
總結
以上是生活随笔為你收集整理的set,存放不重复数据的集合类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生成器——迭代器工作的工厂
- 下一篇: AMD和CMD出生的背景和它们解决的问题