首先是定义一个HashMap方法,做基类(复制在js中即可,然后引用)
//简单的哈希表,begin
function HashMap() {/** Map 大小 * */var size = 0;/** 对象 * */var entry = new Object();/** 存 * */this.put = function(key, value) {if (!this.containsKey(key)) {size++;}entry[key] = value;}/** 取 * */this.get = function(key) {return this.containsKey(key) ? entry[key] : null;}/** 删除 * */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;}/* 清空 */this.clear = function() {size = 0;entry = new Object();}
}
// hash end
应用:
function test(){//新建一个hashmapvar hashMap=new HashMap();var key = "201314"//判断是否含有某个元素if(!hashMap.containsKey(key)){hashMap.put(key,"yes");}//获取某个元素var value = hashMap.get(key);//删除某个元素hashMap.remove(key);//获取map长度var size = hashMap.size;//其他方法可参照以上,在上面都有详细的注释。
}

在js中使用HashMap数据结构,在js中使用K,V数据结构相关推荐

  1. 统计公司员工喜欢吃的水果,并打印出最喜欢吃的前K中水果【map关联式容器,k/V结构】

    5.[附加题]– 本公司现在要给公司员工发波福利,在员工工作时间会提供大量的水果供员工补充营养. 由于水果种类比较多,但是却又不知道哪种水果比较受欢迎,然后公司就让每个员工报告了自己最爱吃的k种水果, ...

  2. hashmap实现原理_Java中HashMap底层实现原理(JDK1.8)源码分析

    在JDK1.6,JDK1.7中,HashMap采用位桶+链表实现,即使用链表处理冲突,同一hash值的链表都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依 ...

  3. JDK1.8中的HashMap

    目录 JDK1.8中的HashMap 问题1:为什么要将1.7中HashMap的链表结构改为红黑树? 问题2:为什么HashMap要用红黑树?红黑树好在哪里. 二叉查找树概述 红黑树概述 红黑树的插入 ...

  4. Java8中的HashMap分析

    本篇文章是网上多篇文章的精华的总结,结合自己看源代码的一些感悟,其中线程安全性和性能测试部分并未做实践测试,直接是"拿来"网上的博客的. 哈希表概述 哈希表本质上一个数组,数组中每 ...

  5. Java7/8 中的 HashMap 和 ConcurrentHashMap

    Java7 HashMap  数组+链表 Java7 ConcurrentHashMap   Segment数组+HashEntry数组链表+ReenTrantLock分段锁 Java8 HashMa ...

  6. 数据结构与算法--二叉树第k个大的节点

    二叉树第k个大的节点 二叉树文章列表: 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆(最大堆,最小堆)实现及原理 数据结构与算法–二叉查找树转顺 ...

  7. c语言map函数k v都是int,Go语言sync.Map(在并发环境中使用的map)

    Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的. 下面来看下并发情况下读写 map 时会出现的问题,代码如下: // 创建一个int到int的映射 m := make(m ...

  8. 面向面试题的前端学习-js篇(自用,持续完善中)

    前言:初心是记录面试题,慢慢由每个知识点引伸出去,逐渐查缺补漏,构建出更完善的前端知识系统. 题目来源:牛客网 gitnub 目录 HTTP协议 get请求传参长度的误区 补充get和post请求在缓 ...

  9. js添加网页水印和three.js场景中加水印

    我们在日常网页开发的时候,可能想给自己的网页或者canvas里面添加水印,增添个人标记,我这里分为普通静态html页面和threejs中3d场景里面添加水印功能. 一 静态html页面添加水印 你只需 ...

最新文章

  1. 下载Hibernate中文参考手册2.1版
  2. 计算机网络——网络地址转换(NAT)
  3. 修改DEDECMS文章标题长度,解决DEDECMS文章标题显示不全
  4. 90后招你惹你了?去你的佛系!
  5. 2017蓝桥杯省赛---java---B---2(纸牌三角形)
  6. java怎么获取控制台内容的类型_java 怎么获取控制台的数据并且输出到GUI上
  7. Android Studio 安装 PlantUML 插件
  8. Spark的RDD检查点实现分析
  9. 使用QTP录制自带Flight小实例
  10. oracle错误输出,oracle – SQL小提琴输出错误
  11. 浏览器重定向(302)次数限制问题
  12. MATLAB求解分段函数
  13. android数据适配器参数,Android 万能适配器BRVAH
  14. vs2015好看的字体_在VisualStudio中应该使用什么字体
  15. 通用Excel库存管理系统 最好用的Excel出入库管理表格 带VBA源代码,代码公开【亲测非常好用】
  16. 赵小楼《天道》《遥远的救世主》深度解析(123)价格战的目的:是分一杯羹,不是吃肉
  17. 泛微OA系统新增短信宝短信插件
  18. idea 超实用的插件
  19. kestrel web服务器性能对比,netcore高性能Web服务器Kestrel分析(示例代码)
  20. 提取文档中关键词所在行

热门文章

  1. JS Uncaught SyntaxError:Unexpected identifier异常报错原因及其解决方法
  2. 2022-2028年中国光掩膜行业市场行情监测及未来前景规划报告
  3. python中的新式类与旧式类的一些基于descriptor的概念(上)
  4. C++核心编程(四)--文件操作
  5. python 直接if判断和is not None的区别
  6. SpringBoot-web开发(三): 模板引擎Thymeleaf
  7. OpenCL框架与示例
  8. TVM yolov3优化代码修改(编译运行OK)
  9. 部署通用基础设施, 满足顶级 SLA 要求
  10. Android报错:java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Base64;如何解决