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 相关文章推荐
Mootools 1.2教程 函数
Sep 15 Javascript
jQuery动态设置form表单的enctype值(实现代码)
Jul 04 Javascript
详谈javascript中的cookie
Jun 03 Javascript
浅谈jQuery的offset()方法及示例分享
Jul 17 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
用JavaScript获取页面文档内容的实现代码
Jun 10 Javascript
详解获取jq ul第一个li定位的四种解决方案
Nov 23 Javascript
基于JavaScript实现复选框的全选和取消全选
Feb 09 Javascript
JS实现禁止高频率连续点击的方法【基于ES6语法】
Apr 25 Javascript
Node.js服务器开启Gzip压缩教程
Aug 11 Javascript
详解10分钟学会vue滚动行为
Sep 21 Javascript
webpack4实现不同的导出类型
Apr 09 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
怎样在UNIX系统下安装php3
2006/10/09 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
通过jquery实现tab标签浏览效果
2007/02/20 Javascript
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
Javascript实现倒计时(防页面刷新)实例
2016/12/13 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
Python中使用tarfile压缩、解压tar归档文件示例
2015/04/05 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
Python 绘制酷炫的三维图步骤详解
2019/07/12 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
会计电算化个人求职信范文
2014/01/24 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
小学体育组工作总结
2015/08/13 职场文书