返回

javascript 中集合概念解析

前端

集合的特征与概念

1. 无重复性

集合中的元素都是唯一的,不能重复。这是集合最基本也是最重要的特征。

2. 空集

集合可以是空的,不包含任何元素。空集用符号 "∅" 表示。

3. 子集

一个集合 A 是集合 B 的子集,当且仅当 A 中的每个元素都属于 B。子集用符号 "⊆" 表示。

集合的操作方法

集合的操作方法主要包括:

1. 并集

两个集合 A 和 B 的并集是包含 A 中所有元素和 B 中所有元素的新集合。并集用符号 "∪" 表示。

2. 交集

两个集合 A 和 B 的交集是包含 A 中所有元素且同时属于 B 的新集合。交集用符号 "∩" 表示。

3. 差集

集合 A 关于集合 B 的差集是包含 A 中所有元素且不属于 B 的新集合。差集用符号 "-" 表示。

代码实现

// 创建一个集合
const set = new Set();

// 向集合中添加元素
set.add(1);
set.add(2);
set.add(3);

// 检查元素是否在集合中
console.log(set.has(2)); // true

// 获取集合的大小
console.log(set.size); // 3

// 遍历集合
for (const item of set) {
  console.log(item); // 1 2 3
}

// 从集合中删除元素
set.delete(2);

// 清空集合
set.clear();

ES6 中的 Set 和 WeakSet

ES6 中引入了两种新的集合类型:Set 和 WeakSet。

1. Set

Set 与我们前面介绍的集合基本一致,但是它有更严格的限制:只能存储原始值(string、number、boolean、symbol),不能存储对象或数组。

2. WeakSet

WeakSet 与 Set 非常相似,但它比 Set 更加严格:只能存储对象或数组,不能存储原始值。

WeakSet 的一个重要特点是它不会阻止元素被垃圾回收。这意味着如果一个元素不再被引用,即使它还在 WeakSet 中,它也会被垃圾回收。

总结

集合是 javascript 中常用的一种数据结构,它由一组唯一且无序的元素组成。集合具有无重复性、空集、子集等特征,并提供了并集、交集、差集等操作方法。ES6 中引入了 Set 和 WeakSet 这两种新的集合类型,它们具有更严格的限制,但同时也提供了更强大的功能。