前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES6新的数据结构Set

ES6新的数据结构Set

作者头像
十月梦想
发布2018-10-09 15:24:46
6380
发布2018-10-09 15:24:46
举报
文章被收录于专栏:十月梦想

Set一种新的数据结构,在之前数据的集合分为数组(Array)和对象(Object),ES6出现新的Set数据结构,和Map,这里先介绍一下Set.

如何定义Set数据结构?

代码语言:javascript
复制
let s = new Set();
			//追加内容 
			s.add(15)
			s.add(13)
			s.add(11)
			s.add(10)
			s.add(5)
			s.add(5)
			s.add(75)
			s.add(55)
			s.add(15)
			console.log(s)
			console.log(typeof s)

打印结果则是Set类型,而不是传统的Array,不过这个Set和Array相似度极高,只不过Set中不允许出现相同的元素!

Set数据结构的方法

代码语言:javascript
复制
    add()向Set追加元素
    delete 删除Set中存在的元素
    has() 判断Set中存在某个元素不,存在返回true,否则返回false
    clear() 清空Set对象中的元素

Set结构数据遍历

可以使用forEach遍历

代码语言:javascript
复制
			let arr = ['a','b','c','d','f']
			let s = new Set([...arr]);
			console.log(s)
			// 通过froEach遍历每一项
			s.forEach((x)=>{
				console.log(x)
			})

可以使用Set特有的三种方法进行遍历(for...keys,for ...values,for...entries)

代码语言:javascript
复制
//			可以使用  enteries,keys,values
			for (x of s.entries()) {
				console.log(x)
			}

for ....keys返回Set中的下标,

for ....values返回Set的键值,

for....enteries返回一每个数组每一项是一个包含键值对的数组

利用Set特点去除数组重复

代码语言:javascript
复制
var arr = [1,23,4,5,8,2,3,1,5,9,2,5,4,1,4,5,8];
			console.log(arr)
			let s = new Set([...arr]);
			console.log(s)
			//此时arr数据实现了去重复,但是类型改变了,可以使用Array.from方法
			var newarr = Array.from(s)
			console.log(newarr)

    提醒,Set不能改变数据类型,需要转数组还需要使用Array.from()方法

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-5,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Set结构数据遍历
    • 利用Set特点去除数组重复
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档