什么是集合?
集合是一种无序且唯一的数据结构,其中的唯一是指集合中的元素。在 ES6 中新增了一种数据结构 Set 就是集合。
Set 常用操作
- new
- add
- delete
- has
- size
应用场景
- 去重
- 判断某元素是否在集合中
- 求两个集合的交集
案例
常用操作
const set = new Set();
// 添加 set 元素
set.add(1);
set.add(5);
set.add(5);
set.add('some text');
const o = { a: 1 };
set.add(o);
set.add({ a: 1 });
// 判断元素是否存在 set 中
const has = set.has('some text'); // true
// 删除 set 元素
set.delete(5);
// 迭代
for (const item of set) {
console.log(item);
}
应用场景
// 去重
const arr = [1, 1, 2, 2];
const arr2 = [...new Set(arr)]; // [1, 2]
// 判断元素是否在集合中
const set = new Set(arr);
const has = set.has(3); // false
// 求交集
const set2 = new Set([2, 3]);
const set3 = [...set].filter((x) => set2.has(x)); // [2]