当前位置:首页 > JavaScript

js set 实现

2026-03-15 00:41:00JavaScript

使用 Set 实现去重

Set 是 ES6 引入的一种新的数据结构,类似于数组,但成员的值都是唯一的,没有重复的值。可以利用 Set 这一特性轻松实现数组去重。

const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]

使用 Set 进行集合运算

Set 数据结构支持多种集合运算,如并集、交集、差集等。

const setA = new Set([1, 2, 3]);
const setB = new Set([2, 3, 4]);

// 并集
const union = new Set([...setA, ...setB]);

// 交集
const intersection = new Set([...setA].filter(x => setB.has(x)));

// 差集
const difference = new Set([...setA].filter(x => !setB.has(x)));

使用 Set 存储唯一值

Set 可以确保存储的值都是唯一的,即使添加重复值也不会生效。

js set 实现

const set = new Set();
set.add(1);
set.add(2);
set.add(1); // 不会生效
console.log(set.size); // 2

Set 的常用方法

Set 提供了一系列方法用于操作和查询集合。

const set = new Set([1, 2, 3]);

// 添加元素
set.add(4);

// 删除元素
set.delete(1);

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

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

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

遍历 Set

Set 可以使用多种方式进行遍历。

js set 实现

const set = new Set([1, 2, 3]);

// 使用 for...of
for (const item of set) {
    console.log(item);
}

// 使用 forEach
set.forEach(item => {
    console.log(item);
});

Set 与数组的转换

Set 和数组之间可以方便地进行转换。

// 数组转 Set
const arr = [1, 2, 3];
const set = new Set(arr);

// Set 转数组
const newArr = [...set];
const newArr2 = Array.from(set);

使用 Set 进行高性能查找

Set 的 has 方法在查找元素时比数组的 includes 方法更高效,尤其是在数据量较大时。

const set = new Set([1, 2, 3, 4, 5]);
console.log(set.has(3)); // true

注意事项

Set 中的元素是通过 === 严格相等比较的,NaN 在 Set 中被认为是相等的,而对象和数组等引用类型需要特别注意。

const set = new Set();
set.add(NaN);
set.add(NaN);
console.log(set.size); // 1

const obj1 = { a: 1 };
const obj2 = { a: 1 };
set.add(obj1);
set.add(obj2);
console.log(set.size); // 3

标签: jsset
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js 实现全屏

js 实现全屏

使用 requestFullscreen 方法 通过调用元素的 requestFullscreen 方法可以实现全屏。该方法兼容现代浏览器,但不同浏览器可能需要前缀。 const element =…

js 实现图片轮播

js 实现图片轮播

基础实现方案 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS负责样式布局,JavaScript处理轮播逻辑。 <div class="…

js验证码实现

js验证码实现

验证码的基本原理 验证码(CAPTCHA)用于区分人类用户和自动化程序。常见类型包括图形验证码、滑动验证码、短信验证码等。JavaScript 可用于前端验证码的生成和验证逻辑。 图形验证码实现 使…