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;

评论
dangzhao 2008-04-14
var jsMap={
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前加一些判断
发表评论

您还没有登录,请登录后发表评论

jokeymzx
搜索本博客
最近加入圈子
存档
最新评论