js写的一个HashMap
1.脚本
/** * 模拟HashMap */ 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(); }; }
2.使用
var map = new HashMap();
map.put('name','zs');
与java中的map一样的使用。