js 实现集合set常用方法

134 阅读1分钟
    //集合set
    function MySet() {

        this.items = {}

        //add()
        MySet.prototype.add = function (value) {

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

            this.items[value] = value;
            
            return true
        }

        //remove()
        MySet.prototype.remove = function (value) {
            if(!this.has(value)) return false;

            delete this.items[value]
            return true
        }

        //has()
        MySet.prototype.has = function (value) {
            return this.items.hasOwnProperty(value);
        }

        //clear()
        MySet.prototype.clear = function () {
            this.items = {};
        }

        //size()
        MySet.prototype.size = function () {
            return Object.keys(this.items).length;
        }

        //values()
        MySet.prototype.values = function () {
            
            return Object.values(this.items);
        }

    }

    let set = new MySet();