JavaScript之HashTable[转]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
        
<title>JSHashTable</title>
        
<script type=text/javascript>
            
function HashTable()
            {
                
this.__hash = {};
                
this.Add = function(key,value)
                {
                    
if(typeof(key) != "undefined")
                    {
                        
//if it not contains in hashtable 
                        if(! this.contains(key))
                        {
                            
this.__hash[key] = typeof(value) == "undefined" ? null : value;
                            
return true;
                        }
                        
else{
                            
return false;
                        }
                    }
                };    
                
                
this.Remove = function(key){
                    
delete this.__hash[key];
                };        
                
this.count = function(){
                    
var i = 0;
                    
for(var obj in this.__hash)
                    {
                        i
++;
                    }
                    
return i;
                };    
                
this.items = function(key){
                    
return this.__hash[key];
                };
                
this.contains = function(key){
                    
return typeof(this.__hash[key]) != "undefined";
                };
                
this.clear = function(){
                    
for(var obj in this.__hash)
                    {
                        
delete this.__hash[k];
                    }
                };
            }
            
            
var obj = new HashTable();
            obj.Add(
"a");
            obj.Add(
"b","b");
            obj.Add(
"a");
            obj.Remove(
"a");
            alert(obj.contains(
"a"));
            obj.Add(
"c","I love you");
            alert(obj.items(
"c"));
        
</script>
    
</head>
    
<body>
    
</body>
</html>
posted @ 2008-07-06 18:58  Sam Lin  阅读(462)  评论(2编辑  收藏  举报