现在的位置: 首页 > 综合 > 正文

js模拟hashmap

2013年08月12日 ⁄ 综合 ⁄ 共 717字 ⁄ 字号 评论关闭
  • //利用JS模拟HashMap
    function HashMap(){
    this.keyArr = new Array();//存放键值的数组
    this.valueArr = new Array();//存放内容值的数组
    this.length = 0;
    }
    //利用JS模拟HashMapd的put方法
    HashMap.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;
    }
    };
    //判断指定的键值是否存在,返回改键值在键值数组中的位置
    HashMap.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;
    };
    //利用JS模拟HashMapd的get方法
    HashMap.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;
    };

抱歉!评论已关闭.