声明一下,JavaScript和Java的区别就像雷锋和雷峰塔的区别.
在Java中,Map是一种集合,用来存储Key-Value键值对的容器.根据键得到值,因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作.
function Map(){ var obj = new Object(); //空对象容器,承装键值对 //put方法 this.put = function(key,value){ obj[key] = value; //把键值对绑定obj对象上 } //size方法,获取Map容器个数 this.size = function(){ var count; for(var attr in obj){ count++; } return count; } //get方法,根据key取得value this.get = function(key){ if(obj[key] || obj[key] === 0 || obj[key] === false){ return obj[key]; }else{ return null; } } //remove方法,根据key来删除键值对 this.remove = function(key){ if(obj[key] || obj[key] === 0 || obj[key] === false){ delete obj[key]; } } //遍历map容器元素方法,eachMap this.eachMap = function(fn){ for(var attr in obj){ fn(attr,obj[attr]); } } }
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数组操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》及《JavaScript错误与调试技巧总结》