jquery哈希表

 

jQuery.Hashtable = function () {
    
this.items = new Array();
    
this.itemsCount = 0;
    
this.add = function (key, value) {
        
if (!this.containsKey(key)) {
            
this.items[key] = value;
            
this.itemsCount++;
        }
        
else {
            
//throw "key '" + key + "' allready exists."
            this.items[key] = value;
        }
    }

    
this.get = function (key) {
        
if (this.containsKey(key))
            
return this.items[key];
        
else
            
return null;
    }

    
this.remove = function (key) {
        
if (this.containsKey(key)) {
            delete 
this.items[key];
            
this.itemsCount--;
        }
        
else
            
throw "key '" + key + "' does not exists."

    }

    
this.containsKey = function (key) {
        
return typeof (this.items[key]) != "undefined";
    }

    
this.containsValue = function containsValue(value) {
        
for (var item in this.items) {
            
if (this.items[item] == value)
                
return true;
        }

        
return false;
    }

    
this.contains = function (keyOrValue) {
        
return this.containsKey(keyOrValue) || this.containsValue(keyOrValue);
    }

    
this.clear = function () {
        
this.items = new Array();
        itemsCount 
= 0;
    }

    
this.size = function () {
        
return this.itemsCount;
    }

    
this.isEmpty = function () {
        
return this.size() == 0;
    }
};

 

使用方法:

var hashtable = new jQuery.Hashtable(); 
        hashtable.add(
"hello",["world","hello world"]);
        hashtable.add(
"aaa",["111","3333"]);
        alert(hashtable.get(
"aaa")[1]);


 

posted on 2011-03-16 14:47  一粒沙  阅读(1630)  评论(0编辑  收藏  举报