js 创建hashmap
2015-06-18 17:34
676 查看
//工具 --- 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);
}
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);
}
相关文章推荐
- Android Native 绘图方法
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- Python中map()函数浅析
- 5个常见可用性错误和解决方案
- Android使用Google Map浅谈
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- 通过Mootools 1.2来操纵HTML DOM元素
- WEB标准网页布局中尽量不要使用的HTML标签
- js可突破windows弹退效果代码
- Flash 与 html 的一些实用技巧
- html工作中表格<tbody>标签的使用技巧
- HTML 向 XHTML1.0 兼容性指导
- JSP脚本漏洞面面观
- C#自写的一个HTML解析类(类似XElement语法)
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- 没有文件大小限制并免费的PDF到HTML转换工具
- css实现气泡框效果(实例加图解)