最新消息:www.yxkong.com也可以访问

js版HashMap

web前端 yxkong 1615浏览 1评论

习惯使用java的HashMap,js封装数据的时候也想用map集合,就找了一个封装好的js版的HashMap.

function HashMap() {
    /** Map大小* */
    var size = 0;
    /** 对象* */
    var entry = new Object();
    /** Map的存put方法* */
    this.put = function(key, value) {
        if (!this.containsKey(key)) {
            size++;
            entry[key] = value;
        }
    }
    /** Map取get方法* */
    this.get = function(key) {
        return this.containsKey(key) ? entry[key] : null;
    }
    /** Map删除remove方法* */
    this.remove = function(key) {
        if (this.containsKey(key) && (delete entry[key])) {
            size--;
        }
    }
    /** 是否包含Key* */
    this.containsKey = function(key) {
        return (key in entry);
    }
    /** 是否包含Value* */
    this.containsValue = function(value) {
        for ( var prop in entry) {
            if (entry[prop] == value) {
                return true;
            }
        }
        return false;
    }
    /** 所有的Value* */
    this.values = function() {
        var values = new Array();
        for ( var prop in entry) {
            values.push(entry[prop]);
        }
        return values;
    }
    /** 所有的 Key* */
    this.keys = function() {
        var keys = new Array();
        for ( var prop in entry) {
            keys.push(prop);
        }
        return keys;
    }
    /** Map size* */
    this.size = function() {
        return size;
    }
    /** 清空Map* */
    this.clear = function() {
        size = 0;
        entry = new Object();
    }
}

转载请注明:我要编程 » js版HashMap

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 我真该跟你多学学
    匿名8年前 (2013-11-01)回复