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 相关文章推荐
js中把JSON字符串转换成JSON对象最好的方法
Mar 21 Javascript
Jquery网页内滑动缓冲导航的实现代码
Apr 05 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
Mar 31 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
最细致的vue.js基础语法 值得收藏!
Nov 03 Javascript
JavaScript实现时间表动态效果
Jul 15 Javascript
jsonp跨域及实现百度首页联想功能的方法
Aug 30 Javascript
js使用swiper实现层叠轮播效果实例代码
Dec 12 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
Feb 18 jQuery
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
js+canvas实现五子棋小游戏
Aug 02 Javascript
原生JS实现九宫格抽奖
Sep 13 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网站基础优化方法小结
2008/09/29 PHP
关于php fread()使用技巧
2010/01/22 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
2011/10/15 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
Python正则表达式经典入门教程
2017/05/22 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
python中装饰器级连的使用方法示例
2017/09/29 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
django迁移数据库错误问题解决
2019/07/29 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
一份Java笔试题
2012/02/21 面试题
申报职称专业技术个人的自我评价
2013/12/12 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
四风查摆剖析材料
2014/10/10 职场文书
长江三峡导游词
2015/01/31 职场文书
环保证明
2015/06/23 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技
Python中requests库的用法详解
2022/06/05 Python