js Set


1.功能介紹

  Set對象是值的集合,你可以按照插入的順序迭代它的元素。 Set中的元素只會出現一次,即 Set 中的元素是唯一的。另外,NaNundefined都可以被存儲在Set 中, NaN之間被視為相同的值(NaN被認為是相同的,盡管 NaN !== NaN)

2.基本使用

const set = new Set()
// 添加元素
set.add(1)
set.add('2')
set.add('2')
set.add(true)
console.log(...set) // 1 "2" true,注意...set ==> 1,"2",true

// 刪除元素
set.delete('2')
console.log(...set) // 1 true
console.log(set.delete(3)) // false 刪除失敗,set中不存在元素3

// 判斷元素是否存在
console.log(set.has(1)) // true
console.log(set.has(NaN))    // false,set中不存在元素NaN

// 遍歷set
for (let [key, value] of set.entries()) {
    console.log(key, value) // 1 1\ntrue true,set的entries()中key, value相等
}                
set.forEach((value, key) => {
    console.log(value, key)    // 1 1\ntrue true
})

// 獲取set中元素的數目
console.log(set.size)    // 2
set.clear() 
console.log(set.size)    // 0

// 轉換成數組(下面案例已屏蔽上方的clear方法)
console.log([...set])    // (2) [1, true]
console.log(Array.from(set)) // (2) [1, true]
console.log(Array.from(set.values()))    // (2) [1, true]
console.log(Array.from(set.keys()))    // (2) [1, true]

3.應用舉例

// 數組去重
const repeatArr = [1, 2, 2, 3, 3, 4, 5]
console.log(Array.from(new Set(repeatArr))) // (5) [1, 2, 3, 4, 5]

// 字符串去重(大小寫敏感)
const set = new Set('woork')    
console.log(set)    // Set(4) {"w", "o", "r", "k"}
console.log([...set].join('')) // work
console.log(new Set('wOork'))    // Set(5) {"w", "O", "o", "r", "k"}            

4.參考文檔

  https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set


免責聲明!

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



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