数据结构---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可以用来判断

猜你喜欢

转载自www.cnblogs.com/lyraLee/p/11553167.html