JS-Es6的Set数据结构

复制代码
 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <script type="text/javascript">
 9             
10             // Set数据结构是es6新增的,类似于数组,可以用于数组的去重
11             let a = [1,1,2,3,3,4,4,5,6,6]
12             let b = new Set(a)
13             //此时虽然去重了,但是数据结构不是数组,需要将其转为数组方便下一步操作
14             console.log(b)
15             b.add(8) //添加一个元素,返回值为Set结构本身
16             b.delete(1) //删除某个值,返回值为布尔值,代表删除是否成功
17             b.has(2)//判断参数是否为Set成员,返回值为布尔值
18             //清空Set结构,无返回值
19             // b.clear()
20             b = [...b] //同样使用es6的扩展运算符将Set数据结构转为数组结构
21             console.log(b)
22             // 也可以这样 let b = [...new Set(a)]
23             
24             let c = ['b','b','b','c','d']
25             let d = new Set(c)
26             // Set结构的遍历
27             for (let item of d.keys()) {
28                 console.log(item) //key:b、c、d
29             }
30             
31             for (let item of d.values()) { //此方法可直接省去 values()
32                 console.log(item) //value: b、c、d
33             }
34             
35             for (let item of d.entries()) {
36                 console.log(item) //返回键值对:["b", "b"]["c", "c"]["d", "d"]
37             }
38             
39             d.forEach((item,index,arr) => {
40                 console.log(item,index,arr)
41             })
42         </script>
43     </body>
44 </html>
复制代码

 

posted @   yw3692582  阅读(617)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示