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 相关文章推荐
Javascript之旅 对象的原型链之由来
Aug 25 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
用jquery生成二级菜单的实例代码
Jun 24 Javascript
去掉gridPanel表头全选框的小例子
Jul 18 Javascript
深入探密Javascript数组方法
Jan 08 Javascript
javascript实现博客园页面右下角返回顶部按钮
Feb 22 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
May 26 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
JS将时间秒转换成天小时分钟秒的字符串
Jul 10 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
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生成随机密码的三种方法小结
2010/09/04 PHP
PHP编码转换
2012/11/05 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
如何编写jquery插件
2017/03/29 jQuery
vue 粒子特效的示例代码
2017/09/19 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
Django 外键的使用方法详解
2019/07/19 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
django rest framework serializer返回时间自动格式化方法
2020/03/31 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
东方电视购物:东方CJ
2016/10/12 全球购物
大学自荐信
2013/12/12 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
机动车登记业务委托书
2014/10/08 职场文书
客户答谢会致辞
2015/01/20 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript