当前位置: 移动技术网 > IT编程>开发语言>JavaScript > javascript仿es6的map类

javascript仿es6的map类

2018年03月23日  | 移动技术网IT编程  | 我要评论
 var Dictionary = (function (){
        var f = function(){
            this._items = {};
        };
        var proto = f.prototype;
        proto.has = function(key){
            return key in this._items;
        }
        proto.set = function(key,value){
            this._items[key] = value;
        }
        proto.remove = function(key){
            if(this.has(key)){
                delete this._items[key];
                return true;
            }
            return false;
        }
        proto.get = function(key){
            return this.has(key) ? this._items[key] : undefined;
        };
        proto.values  = function (){
            var values = [];
            for(var k in this._items){
                if(this.hsa(k)){
                    values.push(this._items[k]);
                }
            }
            return values;
        };
        proto.clear = function(){
            this._items = {};
        };
        proto.size = function(){
            var count = 0;
            for(var prop in this._items){
                if(this._items.hasOwnProperty(prop)){
                     ++ count;
                }
            }
            return count;
        };
        proto.keys = function(){
            var keys = [];
            for(var prop in this._items){
                if(this._items.hasOwnProperty(prop)){
                    keys.push(prop);
                }
            }
            return keys;
        };
        proto.getItems = function(){
            return this._items;
        }
        return f;
    })();

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网