博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS实现HashMap
阅读量:4359 次
发布时间:2019-06-07

本文共 3010 字,大约阅读时间需要 10 分钟。

/** * *********  操作实例  ************** *   var map = new HashMap(); *   map.put("key1","Value1"); *   map.put("key2","Value2"); *   map.put("key3","Value3"); *   map.put("key4","Value4"); *   map.put("key5","Value5"); *   alert("size:"+map.size()+" key1:"+map.get("key1")); *   map.remove("key1"); *   map.put("key3","newValue"); *   var values = map.values(); *   for(var i in values){ *       document.write(i+":"+values[i]+"   "); *   } *   document.write("
"); * var keySet = map.keySet(); * for(var i in keySet){ * document.write(i+":"+keySet[i]+" "); * } * alert(map.isEmpty()); */ function HashMap(){ //定义长度 var length = 0; //创建一个对象 var obj = new Object(); /** * 判断Map是否为空 */ this.isEmpty = function(){ return length == 0; }; /** * 判断对象中是否包含给定Key */ this.containsKey=function(key){ return (key in obj); }; /** * 判断对象中是否包含给定的Value */ this.containsValue=function(value){ for(var key in obj){ if(obj[key] == value){ return true; } } return false; }; /** *向map中添加数据 */ this.put=function(key,value){ if(!this.containsKey(key)){ length++; } obj[key] = value; }; /** * 根据给定的Key获得Value */ this.get=function(key){ return this.containsKey(key)?obj[key]:null; }; /** * 根据给定的Key删除一个值 */ this.remove=function(key){ if(this.containsKey(key)&&(delete obj[key])){ length--; } }; /** * 获得Map中的所有Value */ this.values=function(){ var _values= new Array(); for(var key in obj){ _values.push(obj[key]); } return _values; }; /** * 获得Map中的所有Key */ this.keySet=function(){ var _keys = new Array(); for(var key in obj){ _keys.push(key); } return _keys; }; /** * 获得Map的长度 */ this.size = function(){ return length; }; /** * 清空Map */ this.clear = function(){ length = 0; obj = new Object(); }; }

针对于以上的代码,是在网上找的写的自认为好点的js中实现HashMap的例子,便于以后自己查询和使用

eg:如果像以下情况,修改时,输入的排序值不能重复,可使用以上的HashMap中的containsKey

具体代码:

//保存    $("#save_btn").click(function(){        var dataTr=$("#detail_table").find(".tr-data");        var hasData=false;        var passCheck=true;        var temp=null;//定义一个临时变量        var map = new HashMap();//创建一个HashMap对象        for(var i=0;i

function HashMap(){

//定义长度
var length = 0;
//创建一个对象
var obj = new Object();
/**
* 判断对象中是否包含给定Key
*/
this.containsKey=function(key){
return (key in obj);
};
/**
*向map中添加数据
*/
this.put=function(key,value){
if(!this.containsKey(key)){
length++;
}
obj[key] = value;
};
/**
* 获得Map的长度
*/
this.size = function(){
return length;
};
}

这样才能使用HashMap

 

转载于:https://www.cnblogs.com/chunyansong/p/5485759.html

你可能感兴趣的文章
js setInterval 启用&停止
查看>>
knockoutJS学习笔记04:监控属性
查看>>
Linux下启动/关闭Oracle
查看>>
session和cookie的区别
查看>>
oracle 数据库、实例、服务名、SID
查看>>
web.xml文件的作用
查看>>
linux下oracle调试小知识
查看>>
alert弹出窗口,点击确认后关闭页面
查看>>
oracle问题之数据库恢复(三)
查看>>
单点登陆(SSO)
查看>>
HR,也确实“尽职尽责”
查看>>
MaxComputer 使用客户端配置
查看>>
20190823 顺其自然
查看>>
阅读《余生有你,人间值得》有感
查看>>
每日英语
查看>>
SpringCloud+feign 基于Springboot2.0 负载均衡
查看>>
【BZOJ5094】硬盘检测 概率
查看>>
mac上n次安装与卸载mysql
查看>>
Python之单元测试——HTMLTestRunner
查看>>
WebNotes(PHP、css、JavaScript等)
查看>>