首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
ES5和ES6的介绍
ES5中的严格模式
ES5中的一些扩展
ES6:变量 let、const 和块级作用域
ES6:变量的解构赋值
ES6:箭头函数
剩余参数和扩展运算符
字符串、数组、对象的扩展
内置对象扩展:Set数据结构
Symbol
服务器分类及PHP入门
单线程和异步
Ajax入门和发送http请求
Ajax传输json和XML
同源和跨域
Promise入门详解
Promise的链式调用
Promise的静态方法
宏任务和微任务
Promise应用举例
Async Await函数详解
当前位置:
首页>>
技术小册>>
Javascript-ES6与异步编程
小册名称:Javascript-ES6与异步编程
## Set 数据结构 ### Set 数据结构的介绍 ES6 提供了 新的数据结构 Set。Set 类似于**数组**,但成员的值都是**唯一**的,没有重复的值。 Set 的应用有很多。比如,在 H5 页面的搜索功能里,用户可能会多次搜索重复的关键字;但是在数据存储上,不需要存储重复的关键字。此时,我们就可以用 Set 来存储用户的搜索记录,Set 内部会自动判断值是否重复,如果重复,则不会进行存储,十分方便。 ### 生成 Set 数据结构 Set 本身就是一个构造函数,可通过 `new Set()` 生成一个 Set 的实例。 举例 1: ```js const set1 = new Set(); console.log(set1.size); // 打印结果:0 ``` **举例 2**、可以接收一个**数组**作为参数,实现**数组去重**: ```js const set2 = new Set(['张三', '李四', '王五', '张三']); // 注意,这个数组里有重复的值 // 注意,这里的 set2 并不是数组,而是一个单纯的 Set 数据结构 console.log(set2); // {"张三", "李四", "王五"} // 通过扩展运算符,拿到 set 中的元素(用逗号分隔的序列) // ...set2 // "张三", "李四", "王五" // 注意,到这一步,才获取到了真正的数组 console.log([...set2]); // ["张三", "李四", "王五"] ``` 注意上方的第一行代码,虽然参数里传递的是数组结构,但拿到的 `set2` 不是数组结构,而是 Set 结构,而且里面元素是去重了的。通过 `[...set2]`就可以拿到`set2`对应的数组。
上一篇:
字符串、数组、对象的扩展
下一篇:
Symbol
该分类下的相关小册推荐:
零基础学JavaScript
编程入门课:Javascript从入门到实战
剑指javascript-ES6
剑指javascript
Javascript重点难点实例精讲(一)
JavaScript入门与进阶
Flutter核心技术与实战
JavaScript面试指南
经典设计模式Javascript版
web前端开发性能优化实战
npm script实战构建前端工作流
ES6入门指南