JS hashMap实例详解
Hashmap是一种非常常用的、应用广泛的数据类型。本文通过实例代码给大家介绍jshashMap的相关知识,具体代码内容如下所示:
/**
*MAP对象,实现MAP功能
*
*接口:
*size()获取MAP元素个数
*isEmpty()判断MAP是否为空
*clear()删除MAP所有元素
*put(key,value)向MAP中增加元素(key,value)
*remove(key)删除指定KEY的元素,成功返回True,失败返回False
*get(key)获取指定KEY的元素值VALUE,失败返回NULL
*element(index)获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL
*containsKey(key)判断MAP中是否含有指定KEY的元素
*containsValue(value)判断MAP中是否含有指定VALUE的元素
*values()获取MAP中所有VALUE的数组(ARRAY)
*keys()获取MAP中所有KEY的数组(ARRAY)
*
*例子:
*varmap=newMap();
*
*map.put("key","value");
*varval=map.get("key")
*……
*
*/
functionhashmap(){
/**
*存放数据
*/
this.data=newObject();
/**
*放入一个键值对
*@param{String}key
*@param{Object}value
*/
this.put=function(key,value)
{
this.data[key]=value;
};
/**
*获取某键对应的值
*@param{String}key
*@return{Object}value
*/
this.get=function(key)
{
returnthis.containsKey(key)?this.data[key]:null;
};
/**
*删除一个键值对
*@param{String}key
*/
this.remove=function(key)
{
deletethis.data[key];
};
/**
*遍历Map,执行处理函数
*
*@param{Function}回调函数function(key,value,index){..}
*/
this.each=function(fn){
if(typeoffn!='function')
{
return;
}
varlen=this.data.length;
for(vari=;i<len;i++)
{
vark=this.data[i];
fn(k,this.data[k],i);
}
};
/**
*获取键值数组(类似Java的entrySet())
*@return键值对象{key,value}的数组
*/
this.entrys=function()
{
varlen=this.data.length;
varentrys=newArray(len);
for(vari=;i<len;i++){
entrys[i]={
key:i,
value:this.data[i]
};
}
returnentrys;
};
/**
*判断Map是否为空
*/
this.isEmpty=function()
{
returnthis.data.length==;
};
/**
*获取键值对数量
*/
this.size=function()
{
returnthis.data.length;
};
/**
*重写toString,装成JSON格式
*/
this.toString=function()
{
vars="[";
for(vari=;i<this.data.length;i++,s+=','){
vark=this.data[i];
s+="{'id':'"+k+"','value':'"+this.data[k]+"'}";
}
s=s.substring(,s.length-);
if(s!=""){
s+="]";
}
returns;
};
/**
*输出Value的值
*/
this.values=function(){
var_values=newArray();
for(varkeyinthis.data)
{
_values.push(this.data[key]);
}
return_values;
};
/**
*获取keys
*/
this.keySet=function(){
var_keys=newArray();
for(varkeyinthis.data)
{
_keys.push(key);
}
return_keys;
};
/**
*判断MAP中是否含有指定KEY的元素
*/
this.containsKey=function(_key)
{
return(_keyinthis.data);
};
/**
*清空Map
*/
this.clear=function(){
this.data.length=;
this.data=newObject();
};
}
以上所述是小编给大家介绍的jshashMap实例详解的相关知识,希望对大家有所帮助!