数据结构---Set和Map

1.Set数据结构

Set本质上是一个没有重复数据的一种集合。Set本身也是一种数据结构的构造函数。

1.Set的初始化

var obj = new Set(参数);

上面生成一个Set的实例,obj是集合对象。

参数可以是数组,也可以是类数组(具有iterator接口的数据,如字符串)

var obj = [...new Set([1,3,3,3])]; // [1,3]
var obj = [...new Set('hellohello')]; // ['h','e','l','o'].join('')--'helo'

注意new Set()生成的对象是类数组,通过[...]转为数组。

⚠️:[...new Set(数组或者类数组)] 可以去重!!!内部通过Object.js()比较。

 但是所有的对象基本都不相同,该方法不适用于对象!

⚠️将Set结构转为数组还有一个方法Array.from(set对象);Array.from可以将所有的类数组(含length)转为数组

let obj = Array.from(new Set([1,23,3,3]))

2.Set的属性和方法

Set的属性和方法都在prototype上,可以看作下面的形式

class Set{
    size0;
    constructor() {}
    add(value) { return this;} // 可以.add().add()
    delete(value){ return true;}//false
    has(value) { return true;} //false
    clear() {}
}

has可以用来判断

转载于:https://www.cnblogs.com/lyraLee/p/11553167.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值