js 創建hashmap

//工具   ---  hashMap
function HashMap(){  
    //定義長度   
    var length = 0;  
    //創建一個對象   
    var obj = new Object();  
  
    /** 
    * 判斷Map是否爲空 
    */  
    this.isEmpty = function(){  
        return length == 0;  
    };  
  
    /** 
    * 判斷對象中是否包含給定Key 
    */  
    this.containsKey=function(key){  
        return (key in obj);  
    };  
  
    /** 
    * 判斷對象中是否包含給定的Value 
    */  
    this.containsValue=function(value){  
        for(var key in obj){  
            if(obj[key] == value){  
                return true;  
            }  
        }  
        return false;  
    };  
  
    /** 
    *向map中添加數據 
    */  
    this.put=function(key,value){  
        if(!this.containsKey(key)){  
            length++;  
        }  
        obj[key] = value;  
    };  
  
    /** 
    * 根據給定的Key獲得Value 
    */  
    this.get=function(key){  
        return this.containsKey(key)?obj[key]:null;  
    };  
  
    /** 
    * 根據給定的Key刪除一個值 
    */  
    this.remove=function(key){  
        if(this.containsKey(key)&&(delete obj[key])){  
            length--;  
        }  
    };  
  
    /** 
    * 獲得Map中的所有Value 
    */  
    this.values=function(){  
        var _values= new Array();  
        for(var key in obj){  
            _values.push(obj[key]);  
        }  
        return _values;  
    };  
  
    /** 
    * 獲得Map中的所有Key 
    */  
    this.keySet=function(){  
        var _keys = new Array();  
        for(var key in obj){  
            _keys.push(key);  
        }  
        return _keys;  
    };  
  
    /** 
    * 獲得Map的長度 
    */  
    this.size = function(){  
        return length;  
    };  
  
    /** 
    * 清空Map 
    */  
    this.clear = function(){  
        length = 0;  
        obj = new Object();  
    };  

function getmonth(month){
 var map = new HashMap();
 map.put("jan","01");
 map.put("Feb","02");
 map.put("Mar","03");
 map.put("Apr","04");
 map.put("May","05");
 map.put("Jun","06");
 map.put("Jul","07");
 map.put("Aug","08");
 map.put("Spt","09");
 map.put("Oct","10");
 map.put("Nov","11");
 map.put("Dec","12");
 
 return map.get(month);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章