这篇文章主要介绍了javascript实现的HashMap类代码,实现了添加、获取、删除、查询key和value功能,需要的朋友可以参考下


<script language = "javascript" >
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");
alert(hashMap.size());

</script>

最新资讯
iOS 14正式版安装率将过半 即将超过iOS 13

iOS 14正式版安装率将

根据移动分析公司Mixpanel的数据,截止10月27日,iOS 14正
谷歌母公司旗下Waymo联手戴姆勒共同开发自动驾驶卡车

谷歌母公司旗下Waymo

据报道,戴姆勒卡车公司已经与谷歌母公司Alphabet旗下的
自动驾驶真正上路 还有10%的技术难题待解

自动驾驶真正上路 还

自动驾驶在技术上已经解决了90%的问题,但剩下10%的问题
90后小伙缘何沦为电信诈骗“工具人”

90后小伙缘何沦为电信

根据案件情况,惠山区人民检察院对傅小宝的姐姐傅某、姐
做芯片不是捏泥丸,请做好长期“打工”的准备

做芯片不是捏泥丸,请做

所有努力都不会徒劳无益,哪怕日拱一卒,也是在默默催动生
美FCC投票决定维持废除“网络中立”规则的命令

美FCC投票决定维持废

国联邦通信委员会(FCC)周二以3比2的投票结果作出决定,维
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,