JS自定义对象实现Java中Map对象功能的方法


Posted in Javascript onJanuary 20, 2015

本文实例讲述了JS自定义对象实现Java中Map对象功能的方法。分享给大家供大家参考。具体分析如下:

Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。

这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容!
 
这里Key,你要使用String类型,和Java一样,你可以进行一些增加,删除,修改,获得的操作。

使用很简单,我先把工具类给大家看下:

/** 

 * @version 1.0 

 * 用于实现页面 Map 对象,Key只能是String,对象随意 

 */  

var Map = function(){  

    this._entrys = new Array();  

      

    this.put = function(key, value){  

        if (key == null || key == undefined) {  

            return;  

        }  

        var index = this._getIndex(key);  

        if (index == -1) {  

            var entry = new Object();  

            entry.key = key;  

            entry.value = value;  

            this._entrys[this._entrys.length] = entry;  

        }else{  

            this._entrys[index].value = value;  

        }          

    };  

    this.get = function(key){  

        var index = this._getIndex(key);  

        return (index != -1) ? this._entrys[index].value : null;  

    };  

    this.remove = function(key){  

        var index = this._getIndex(key);  

        if (index != -1) {  

            this._entrys.splice(index, 1);  

        }  

    };  

    this.clear = function(){  

        this._entrys.length = 0;;  

    };  

    this.contains = function(key){  

        var index = this._getIndex(key);  

        return (index != -1) ? true : false;  

    };  

    this.getCount = function(){  

        return this._entrys.length;  

    };  

    this.getEntrys =  function(){  

        return this._entrys;  

    };  

   this._getIndex = function(key){  

        if (key == null || key == undefined) {  

            return -1;  

        }  

        var _length = this._entrys.length;  

        for (var i = 0; i < _length; i++) {  

            var entry = this._entrys[i];  

            if (entry == null || entry == undefined) {  

                continue;  

            }  

            if (entry.key === key) {//equal  

                return i;  

            }  

        }  

        return -1;  

    };  

}

 
如果你不懂Js中对象的创建等一些基础知识,自己可以网上查一下。
// 自定义Map对象  

var map = new Map();  

map.put("a","a");  

alert(map.get("a"));  

map.put("a","b");  

alert(map.get("a"));

 
先弹出 a 后面弹出 b ,因为后面的会覆盖前面的!

其他方法大家自己写写看!

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
随鼠标上下滚动的jquery代码
Dec 05 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
解决jquery实现的radio重新选中的问题
Jul 03 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
Sep 11 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
Dec 19 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
Feb 19 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
vue渲染时闪烁{{}}的问题及解决方法
Mar 28 Javascript
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
JavaScript数组Array对象增加和删除元素方法总结
Jan 20 #Javascript
DOM基础教程之使用DOM + Css
Jan 20 #Javascript
jquery+ajax实现跨域请求的方法
Jan 20 #Javascript
嵌入式iframe子页面与父页面js通信的方法
Jan 20 #Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 #Javascript
用队列模拟jquery的动画算法实例
Jan 20 #Javascript
jQuery 处理页面的事件详解
Jan 20 #Javascript
You might like
理解php依赖注入和控制反转
2016/05/11 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
javascript控制台详解
2015/06/25 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
jQuery simpleModal插件的使用介绍
2016/08/30 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
详解express使用vue-router的history踩坑
2019/06/05 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
python爬虫headers设置后无效的解决方法
2017/10/21 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
将python代码和注释分离的方法
2018/04/21 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
python3 pygame实现接小球游戏
2019/05/14 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
生产班组长岗位职责
2014/01/05 职场文书
运动会稿件300字
2014/02/14 职场文书
小学一年级学生评语
2014/04/22 职场文书
停电放假通知
2015/04/14 职场文书
大学生实习介绍信
2015/05/05 职场文书
python基础详解之if循环语句
2021/04/24 Python