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实例详解的相关知识,希望对大家有所帮助!