代码描述:JavaScript模拟HashMap类。JavaScript模拟HashMap类效果源码下载
本章节介绍片一下如何利用javascript模拟实现HashMap类的一些功能,因为js本身是没有这样的类的。 HashMap类通常具有添加、删除、查询、删除等功能,下面就是我们模拟实现的代码。 代码如下:
<script> function HashMap(){ /**Map大小**/ var size = 0; /**对象**/ var entry = new Object(); /**Map的存put方法**/ this.put=function(key,value){ if(!this.containsKey(key)){ size++; entry[key] = value; } } /**Map取get方法**/ this.get=function(key){ return this.containsKey(key)?entry[key] : null; } /**Map删除remove方法**/ this.remove = function(key){ if(this.containsKey(key) && (delete entry[key])){ size--; } } /**是否包含Key**/ this.containsKey = function(key) { return (key in entry); } /**是否包含Value**/ this.containsValue = function(value) { for(var prop in entry){ if (entry[prop] == value) { return true; } } return false; } /**所有的Value**/ this.values = function() { var values = new Array(); for (var prop in entry) { values.push(entry[prop]); } return values; } /**所有的 Key**/ this.keys = function() { var keys = new Array(); for(var prop in entry){ keys.push(prop); } return keys; } /**Map size**/ this.size = function() { return size; } /**清空Map**/ this.clear = function() { size = 0; entry = new Object(); } } //创建HashMap对象 var hashMap = new HashMap(); hashMap.put("A", "1"); hashMap.put("B", "2"); hashMap.put("A", "5"); hashMap.put("C", "3"); hashMap.put("A", "4"); cosnole.log(hashMap.size()); </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能