【es6复习笔记】集合Set(13)

ES6 提供了新的数据结构 Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了iterator接口,所以可以使用『扩展运算符』和『for...of...』进行遍历。

集合的属性和方法

  1. size:返回集合的元素个数。
  2. add(value):增加一个新元素,返回当前集合。
  3. delete(value):删除元素,返回boolean值。
  4. has(value):检测集合中是否包含某个元素,返回boolean值。
  5. clear():清空集合,返回undefined。

1. 集合的基本操作

在 JavaScript 中,集合(Set)是一种数据结构,它可以存储任意类型的唯一值。以下是一些基本操作的示例:

javascript 复制代码
// 声明一个 set
let s = new Set();
let s2 = new Set(['大事儿', '小事儿', '好事儿', '坏事儿', '小事儿']);

// 元素个数
console.log(s2.size); // 输出: 5

// 添加新的元素
s2.add('喜事儿');
console.log(s2); // 输出: Set(6) {"大事儿", "小事儿", "好事儿", "坏事儿", "喜事儿"}

// 删除元素
s2.delete('坏事儿');
console.log(s2); // 输出: Set(5) {"大事儿", "小事儿", "好事儿", "喜事儿"}

// 检测
console.log(s2.has('糟心事')); // 输出: false

// 清空
s2.clear();
console.log(s2); // 输出: Set(0) {}

2. 集合的遍历

可以使用 for...of 循环来遍历集合中的元素:

javascript 复制代码
for(let v of s2){
    console.log(v);
}

3. 集合的实践应用

集合在实际开发中有很多应用,例如数组去重、求交集、并集和差集等。以下是一些示例:

javascript 复制代码
let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];

// 1. 数组去重
let result = [...new Set(arr)];
console.log(result); // 输出: [1, 2, 3, 4, 5]

// 2. 交集
let arr2 = [4, 5, 6, 5, 6];
let result = [...new Set(arr)].filter(item => new Set(arr2).has(item));
console.log(result); // 输出: [4, 5]

// 3. 并集
let union = [...new Set([...arr,...arr2])];
console.log(union); // 输出: [1, 2, 3, 4, 5, 6]

// 4. 差集
let diff = [...new Set(arr)].filter(item =>!(new Set(arr2).has(item)));
console.log(diff); // 输出: [1, 2, 3]

总结

集合是一种非常有用的数据结构,它可以帮助我们快速地进行数组去重、求交集、并集和差集等操作。在实际开发中,合理使用集合可以提高代码的效率和可读性。

相关推荐
慧一居士1 小时前
flex 布局完整功能介绍和示例演示
前端
DoraBigHead1 小时前
小哆啦解题记——两数失踪事件
前端·算法·面试
陈洪奇6 小时前
注册中心学习笔记整理
笔记·学习
一斤代码6 小时前
vue3 下载图片(标签内容可转图)
前端·javascript·vue
中微子6 小时前
React Router 源码深度剖析解决面试中的深层次问题
前端·react.js
光影少年6 小时前
从前端转go开发的学习路线
前端·学习·golang
中微子7 小时前
React Router 面试指南:从基础到实战
前端·react.js·前端框架
3Katrina7 小时前
深入理解 useLayoutEffect:解决 UI "闪烁"问题的利器
前端·javascript·面试
前端_学习之路8 小时前
React--Fiber 架构
前端·react.js·架构
伍哥的传说8 小时前
React 实现五子棋人机对战小游戏
前端·javascript·react.js·前端框架·node.js·ecmascript·js