javascript模拟java中的Map

来源:互联网 发布:8月份经济数据 编辑:程序博客网 时间:2024/05/03 13:51
function Map(){var obj = {}; // 创建一个对象// 添加键值对this.put = function(key,value){obj[key] = value;}// 获取对象键值对个数this.size = function(){var count = 0;for(var attr in obj){count++;}return count;}// 更新属性值this.updata = function(key,value){obj[key] = value;}// 删除指定属性值this.remove = function(key){if(obj[key] || obj[key] ===0 || obj[key] ===false)delete obj[key]; }// 根据key值获取valuethis.get = function(key){if(obj[key] || obj[key] ===0 || obj[key] ===false){return obj[key];}else{return null;}}// 遍历Mapthis.eachMap = function(fn){for(var attr in obj){fn(attr,obj[attr]);}}}var map = new Map();// 添加数据map.put("name","wh");map.put("age",22);alert("添加完map的长度:"+map.size()); // 获取对象长度alert("获取name的值:"+map.get("name")); // 根据Key获取Value// 更新内容map.updata("name","whhhhhhhhh");alert("修改后name:"+map.get("name"));// 删除属性map.remove("age");alert("删除后map长度"+map.size());// 遍历对象map.eachMap(function(key,value){alert("遍历获取键值对---"+key+" : "+value);});

1 0