JavaScript中Set集合的方法詳情
Set集合概述
- Set集合和Arry數(shù)組很相似,但是Set集合存儲(chǔ)的是key也就是說Set集合中不可以存在兩個(gè)值和數(shù)據(jù)類型都相等的key
- Set集合不可以用下標(biāo)取值
- Set集合沒有l(wèi)ength屬性而是size
- Set集合可以通過Array.from轉(zhuǎn)為真正的數(shù)組
如何創(chuàng)建并使用 Set
創(chuàng)建一個(gè) Set 并添加現(xiàn)有變量:
// 創(chuàng)建變量 const a = "a"; const b = "b"; const c = "c"; // 創(chuàng)建 Set const letters = new Set(); letters.add(a); letters.add(b); letters.add(c);
Add()
往集合添加元素,會(huì)進(jìn)行去重,重復(fù)的元素添加只會(huì)顯示一個(gè)
var set = new Set() set.add(1) console.log(set); // {1} var set = new Set().add(1).add([2,3,4]) console.log(set); // {1, [2,3,4]} var set = new Set([1,2,3,4,5,6]); console.log(set.add(123)); // {1, 2, 3, 4, 5,6,123} 說明添加成功了 console.log(set.add(1)); // {1, 2, 3, 4, 5,6,123} 說明重復(fù)的沒有添加成功
Clear()
清空Set對象
var set = new Set([1,2,3,4,5,6]); set.clear() console.log(set); // {size: 0} 清空成功
Delete()
刪除Set對象中的值
var set = new Set([1,2,3,4,5,6]); console.log(set.delete(1)); // true 說明刪除成功 console.log(set.delete(1)); // false說明刪除失敗,因?yàn)榧现幸呀?jīng)不存在 1 console.log(set); // [2,3,4,5,6] 1被刪除掉了
Entries()
Entries() 方法返回一個(gè)數(shù)組的迭代對象,該對象包含數(shù)組的鍵值對 (key/value)。迭代對象中數(shù)組的索引值作為 key, 數(shù)組元素作為 value。
var set = new Set([1,2,3,4,5]); console.log(set); // {1, 2, 3, 4, 5} console.log(set.entries()); // {1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5}
Has()
判斷Set對象中某個(gè)值是否存在,存在返回true,不存在返回false
var set = new Set([1,2,3,4,5]); console.log(set.has(1)); // ture 說明Set對象中存在1 console.log(set.has(6)); // false 說明Set對象中不存在6
ForEach()
為每個(gè)元素調(diào)用回調(diào) 它具有三個(gè)參數(shù):
- .value:可選,Set對象中元素的值。
- .key:可選由于Set對象沒有鍵,所以key的值和value的值相同。
- .setObj:可選,Set對象本身。
var set = new Set([1,2,3,4,5]); set.forEach((value,key,setObj)=>{ console.log(value,key,setObj); }) // 1 1 {1, 2, 3, 4, 5} // 2 2 {1, 2, 3, 4, 5} ....
Keys() 與 values()
返回Set對象的key值數(shù)組,返回Set對象的value值數(shù)組
var set = new Set([1,2,3,4,5]); console.log(set.keys()); // {1, 2, 3, 4, 5} console.log(set.values()); // {1, 2, 3, 4, 5}
Size
返回Set對象中元素計(jì)數(shù)
var set = new Set([1,2,3,4,5]); console.log(set.size); // 5
Set 對象的方法和屬性集合
名稱 | 說明 |
---|---|
new Set() | 創(chuàng)建新的 Set 對象。 |
add() | 向 Set 添加新元素。 |
clear() | 從 Set 中刪除所有元素。 |
delete() | 刪除由其值指定的元素。 |
entries() | 返回 Set 對象中值的數(shù)組。 |
has() | 如果值存在則返回 true。 |
forEach() | 為每個(gè)元素調(diào)用回調(diào)。 |
keys() | 返回 Set 對象中值的數(shù)組。 |
values() | 與 keys() 相同。 |
size | 返回元素計(jì)數(shù)。 |
到此這篇關(guān)于JavaScript中Set集合的方法詳情的文章就介紹到這了,更多相關(guān)JS Set集合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntersectionObserver判斷是否在可視區(qū)域詳解
這篇文章主要為大家介紹了IntersectionObserver判斷是否在可視區(qū)域詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Javascript 浮點(diǎn)運(yùn)算的問題分析與解決方法
JavaScript 只有一種數(shù)字類型 Number ,而且在Javascript中所有的數(shù)字都是以IEEE-754標(biāo)準(zhǔn)格式表示的。 浮點(diǎn)數(shù)的精度問題不是JavaScript特有的,因?yàn)橛行┬?shù)以二進(jìn)制表示位數(shù)是無窮的2013-08-08JS實(shí)現(xiàn)經(jīng)典的中國地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單功能實(shí)例【測試可用】
這篇文章主要介紹了JS實(shí)現(xiàn)經(jīng)典的中國地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單功能,結(jié)合完整實(shí)例形式分析了javascript基于事件響應(yīng)實(shí)現(xiàn)頁面元素動(dòng)態(tài)變換的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06Boostrap柵格系統(tǒng)與自己額外定義的媒體查詢的沖突問題
這篇文章主要介紹了Boostrap柵格系統(tǒng)與自己額外定義的媒體查詢的沖突問題,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02JavaScript中的console.assert()函數(shù)介紹
這篇文章主要介紹了JavaScript中的console.assert()函數(shù)介紹,assert()函數(shù)是一個(gè)調(diào)試中經(jīng)常使用的斷言工具函數(shù),需要的朋友可以參考下2014-12-12js 判斷字符串中是否包含某個(gè)字符串的實(shí)現(xiàn)代碼
工作中經(jīng)常會(huì)使用到判斷一個(gè)字符串是否包含某一個(gè)字符串,因此總結(jié)一下幾個(gè)方法,需要的朋友可以參考下2023-03-03