js-es6-set数据结构

集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中。

特点:key 和 value 相同,没有重复的 value。

数据结构 Set,它类似于数组,但是成员的值都是唯一的,没有重复的值。

1.创建Set  传入的参数放在数组里

let s1=new Set();
let s2=new Set([1,2,3,3]);
console.log(s1);//Set(0) {}
console.log(s2);//Set(3) {1, 2, 3}  忽略重复的

2.Set类的属性:size  返回set元素的个数

let s=new Set([1,2,3,'a']);
console.log(s.size);//4

3.Set类的方法

1) add(value) 添加一个数据,返回Set结构本身。

let s=new Set([1,'a']);
console.log(s.add(null));//Set(3) {1, "a", null}
console.log(s.add(undefined));//Set(4) {1, "a", null, undefined}
console.log(s.add({}));//Set(5) {1, "a", null, undefined, {…}}
console.log(s.add([]));//{1, "a", null, undefined, {…}, Array(0)}

2) delete(value) 删除指定数据,返回一个布尔值,表示删除是否成功。

let s=new Set([1,null,undefined,NaN,{}]);
console.log(s);//Set(5) {1, null, undefined, NaN, {…}}
console.log(s.delete(NaN));//true
console.log(s.delete([]));//false
console.log(s);//Set(4) {1, null, undefined, {…}}

3) has(value) 判断该值是否为Set的成员,反回一个布尔值。

let s=new Set([1,2,3]);
console.log(s);//Set(3) {1, 2, 3}
console.log(s.has(1));//true
console.log(s.has('1'));//false

4)clear() 清除所有数据,没有返回值。

let s=new Set([1,2,3]);
console.log(s);//Set(3) {1, 2, 3}
s.clear()
console.log(s);//Set(0) {}

5) keys() 返回键名的遍历器

let s=new Set([1,null,undefined,NaN,{}]);
for(i of s.keys()){
	console.log(i);//1 null undefined NaN {}
}

6) values() 返回键值的遍历器

let s=new Set([1,null,undefined,NaN,{}]);
for(i of s.values()){
	console.log(i);//1 null undefined NaN {}
}

7) entries() 返回键值对的遍历器

let s=new Set([1,null,undefined,NaN,{}]);
for([key,value] of s.entries()){
	console.log('key : '+key,'value : '+value);
	// key : 1 value : 1
	// key : null value : null
	// key : undefined value : undefined
	// key : NaN value : NaN
	// key : [object Object] value : [object Object]
}

8)  forEach() 使用回调函数遍历每个成员


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值