add(value)
|
添成員並返回Set本身
|
has(value)
|
通過 鍵 判斷 成員 是否存在
|
size
|
返回成員數量
|
delete(value)
|
通過 鍵 移除 成員
|
clear()
|
清空所有成員
|
const obj1 = { name: "tom" }; const s = new Set(); console.log(s); const s1 = s.add(obj1) // 添加成員並返回Set本身 console.log(s, s1); console.log(s.has(obj1)); // 通過 鍵 判斷 成員 是否存在 console.log(s.size); // 返回成員數量 s.delete(obj1) // 通過 鍵 移除 成員 console.log(s); s.clear() // 清空所有成員 // 由於Set成員唯一性,所以沒有get方法
遍歷方法:
keys
|
返回 成員
|
values
|
返回 成員
|
entries
|
返回 [成員, 成員]
|
for of
|
返回 成員
|
forEach
|
返回 成員
|
const obj1 = { name: "tom" }; const obj2 = { name: "anne" }; const obj3 = { name: "jack" }; const s = new Set(); s.add(obj1) s.add(obj2) s.add(obj3) console.log(s); // keys():返回 成員 for (const item of s.keys()) { console.log(item) } // values():返回 成員 for (const item of s.values()) { console.log(item) } // entries():返回 [成員, 成員] for (const item of s.entries()) { console.log(item) } // 返回 成員 for (const item of s) { console.log(item) } // 返回 成員 s.forEach(item => { console.log(item) })
// 經典 Set 數組去重;Array.from 將類數組轉換成數組 let ArrayHeavy = (arr) => { return Array.from(new Set(arr)) }; var arr = ["妹子", 1, 1, undefined, 2, 3, true, 4, 3, "男人", 8, 3, "妹子", undefined, true]; console.log(ArrayHeavy(arr));
// 字符串去重;...把Set元素解構塞進[]數組,然後join數組轉字符串 var arr = [...new Set('aabbccdd')].join('') console.log(arr); // abcd
// 空對象對應不同的內存地址,因此不是重複的數據 const s = new Set(); s.add({}); s.add({}); console.log(s); // Set(2) {{}, {}}