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语言结构小记(一)
Sep 10 Javascript
JS实现双击屏幕滚动效果代码
Oct 28 Javascript
js+css实现select的美化效果
Mar 24 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
JavaScript 总结几个提高性能知识点(推荐)
Feb 20 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
Apr 22 Javascript
浅析node.js的模块加载机制
May 25 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
微信小程序实现单个或多个倒计时功能
Nov 01 Javascript
vue3语法糖内的defineProps及defineEmits
Apr 14 Vue.js
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 获取本地IP代码
2013/06/23 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
PDO::_construct讲解
2019/01/27 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
js学习之----深入理解闭包
2016/11/21 Javascript
原生js实现弹出层登录拖拽功能
2016/12/05 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
Vue入门之animate过渡动画效果
2018/04/08 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
装修设计师求职信
2014/02/26 职场文书
大学生应聘导游自荐信
2014/06/02 职场文书
群众路线专项整治方案
2014/10/27 职场文书
高一军训决心书
2015/02/05 职场文书
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB