利用js模拟HashMap
HashMap是java中适用最广泛的接口之一,可惜在JS中没有类似的功能需要自己实现
下面的代码利用js实现了一个简单的HashMap
//利用JS模拟HashMap
function JMap(){
this.keyArr = new Array();//存放键值的数组
this.valueArr = new Array();//存放内容值的数组
this.length = 0;
}
JMap.prototype.put = function (key, value)
{
key = key.toString().replace(/^\s+|\s+$/g,"");
var len = this.containsKey(key);
if(len==-1){
this.keyArr[this.length] = key;
this.valueArr[this.length] = value;
this.length ++;
}else{
this.valueArr[len] = value;
}
}
//判断指定的键值是否存在,返回改键值在键值数组中的位置
JMap.prototype.containsKey = function (key){
var len = -1;
for(var i=0;i<this.length;i++){
if(key==this.keyArr[i]){
len = i;
break;
}
}
return len;
}
JMap.prototype.get = function (key)
{
var the_value = "";
for(var i=0;i<this.length;i++){
if(key==this.keyArr[i]){
the_value = this.valueArr[i];
break;
}
}
return the_value;
}
评论
Map:{},
set:function (key,value){
this.Map[key]=value;
},
get:function(key){
return this.Map[key];
}
};
jsMap.set("key","Hello Map");
alert(jsMap.get("key"));
在set,get前加一些判断
发表评论
- 浏览: 1833 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最新评论
-
计算两个日期间相隔的周数
weeks
-- by failure5152 -
Java中用类名做变量名
编译器 应该提示错误吧
-- by sandybuster -
利用js模拟HashMap
var jsMap={ Map:{}, set:function (key, ...
-- by dangzhao -
Java中用类名做变量名
你再反编译一下看看,就知道编译器干啥了,呵呵
-- by xiaoych -
Java中用类名做变量名
你不要自己迷惑自己.按照代码规范写代码
-- by hgq0011






评论排行榜