es6中的Set集合

一:set概述。
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

语法:

set对象允许存储任何类型的唯一值,无论是原始值或者是对象引用;

new Set([iterable])

1,参数非必需, 如果传递一个可迭代对象,他的所有元素被添加到新的Set中,如果无此参数,则Set为空。
2,返回一个新的Set对象。

二:Set实例的方法和属性

属性:

Set.prototype.constructor: 构造函数,默认就是Set函数。 Set.prototype.size: 返回Set实例的成员总数。

方法:

操作方法
add(value): 添加某值,返回Set结构本身。
delete(value): 删除某值, 返回布尔值。
has(value): 检测Set的成员是否有这个值,返回布尔值。
clear(value): 清除所有成员,不返回值。
size(value):查看数据个数
例1:

 	const set = new Set();
    //往set中添加数据
    set.add(100);
    set.add('string');
    set.add({name:"kiki"});//对象
    set.add(true);//布尔值
    set.add(100);
    console.log(set);
    //添加重复的值,无作用。

结果:
在这里插入图片描述
例2:

	//定义一个集合
    const set1 = new Set([100,true,"string"]);
    console.log(set1);//{1, true, "string"}
    
    //计算set1中的数据个数
    console.log(set1.size);//3
    
    //检查是否存在对应值
    console.log(set1.has(100));//true
    console.log(set1.has({name:"kiki"}));//false
    //匹配的不是值而是地址,地址是唯一的,所以为false
    
    // 删除set内容
    set.delete(100);
    console.log(set1);

遍历方法
keys():返回键名的遍历器
values():返回键值的遍历器
entries():返回键值对的遍历器
forEach():使用回调函数遍历每个成员
例子:

	//for....of遍历set
    for(let item of set){
        console.log(item);
    }
    //将set转化为数组Array
    const setArray=Array.from(set);
    console.log(setArray)

set对象与数组之间的转换

	const set3 = new Set([100,true,"string"]);
	//将set3转化为数组Array
    const setArray=Array.from(set3);
    console.log(setArray)//[100, true, "string"]

注意:set对象是值的集合,元素只会出现一次,即Set中的元素是唯一的,NaN被Set认为是相同的,则{}被认为是不同的。

	var set4 = new Set([{},{}])
    console.log(set4)//{{},{}}
    console.log(set4.size)//2
    var set5 = new Set([NaN,NaN])
    console.log(set5)//NaN
    console.log(set5.size)//1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值