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 相关文章推荐
初窥JQuery-Jquery简介 入门了解篇
Nov 25 Javascript
js拦截alert对话框另类应用
Jan 16 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
Mar 27 Javascript
百度地图给map添加右键菜单(判断是否为marker)
Mar 04 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
Jul 22 Javascript
js拖拽功能实现代码解析
Nov 28 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
jquery学习笔记之无new构建详解
Dec 07 jQuery
微信小程序云开发使用方法新手初体验
May 16 Javascript
使用Node.js在深度学习中做图片预处理的方法
Sep 18 Javascript
vue-simple-uploader上传成功之后的response获取代码
Sep 07 Javascript
vue全局使用axios的操作
Sep 08 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
php中文件上传的安全问题
2006/10/09 PHP
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
ThinkPHP中的常用查询语言汇总
2014/08/22 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
比较详细的关于javascript中void(0)的具体含义解释
2007/08/02 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
webpack入门必知必会
2017/01/16 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
2020/07/01 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
Python工程师面试必备25条知识点
2018/01/17 Python
Python 实用技巧之利用Shell通配符做字符串匹配
2019/08/23 Python
python 列表推导式使用详解
2019/08/29 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
基于python实现百度语音识别和图灵对话
2020/11/02 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
基于PyTorch中view的用法说明
2021/03/03 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
学生自我鉴定模板
2013/12/30 职场文书
装修五一活动策划案
2014/01/23 职场文书
机修工工作职责
2014/02/21 职场文书
英语通知范文
2015/04/22 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript