JS-集合(常见操作方法)

JavaScript017

JS-集合(常见操作方法),第1张

<!--封装集合类-->

//我们的集合里面不允许有重复的元素

    function Set(){

//    属性

        this.items={}

//    add方法

        Set.prototype.add=value=>{

//判断当前集合是否包含了该元素

            if (this.has(value))return false

            //将元素添加到集合中

            this.items[value]=value//集合中,键为value,值为value

            return true

        }

//        has方法--判断集合中是否有某一个元素!

        Set.prototype.has=(value)=>{

return this.items.hasOwnProperty(value)

}

//        remove方法

        Set.prototype.remove=(value)=>{

//  1.判断集合中是否包含该元素

            if (!this.has(value))return false

        //  2.包含则删除集合中的属性,delete是js中的属性

            delete this.items[value]

return true

        }

//        clear方法

        Set.prototype.clear=()=>{

this.items={}

}

//        size方法

        Set.prototype.size=()=>{

return Object.keys(this.items).length

        }

//        获取集合中所有的值

        Set.prototype.values=()=>{

return Object.keys(this.items)

}

}

es6新的数据结构set集合 类似数组 但是成员值 都是唯一 他们之间也可以相互转换

去重

交集

has是set集合的方法

Set.prototype.has(value):返回一个布尔值,表示该值是否为Set的成员。

差集

并集