javascript实现的HashMap类代码


Posted in Javascript onJune 27, 2014
<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>
Javascript 相关文章推荐
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
Oct 11 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
Feb 28 Javascript
优化RequireJS项目的相关技巧总结
Jul 01 Javascript
js实现匹配时换色的输入提示特效代码
Aug 17 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
Nov 23 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
vue最简单的前后端交互示例详解
Oct 11 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
Jun 26 #Javascript
Javascript字符串对象的常用方法简明版
Jun 26 #Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 #Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 #Javascript
JS的事件绑定深入认识
Jun 26 #Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 #Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 #Javascript
You might like
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
PHP编程风格规范分享
2014/01/15 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
2014/04/14 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
Jquery Ajax的Get方式时需要注意URL地方
2011/04/07 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
js读取配置文件自写
2014/02/11 Javascript
利用原生JavaScript获取元素样式只是获取而已
2014/10/08 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
JS改变页面颜色源码分享
2018/02/24 Javascript
Python如何获取系统iops示例代码
2016/09/06 Python
Python端口扫描简单程序
2016/11/10 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
python opencv实现证件照换底功能
2019/08/19 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
internal修饰符起什么作用
2013/12/16 面试题
股份合作协议书
2014/04/12 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
手术室护士个人总结
2015/02/13 职场文书
2016年班主任培训心得体会
2016/01/07 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
用 Python 元类的特性实现 ORM 框架
2021/05/19 Python
Redis 的查询很快的原因解析及Redis 如何保证查询的高效
2022/03/16 Redis