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 跨域访问解决方案
Feb 14 Javascript
Javascript 中的 call 和 apply使用介绍
Feb 22 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
Dec 25 Javascript
Javascript中实现String.startsWith和endsWith方法
Jun 10 Javascript
JavaScript与java语言有什么不同
Sep 22 Javascript
微信小程序页面生命周期详解
Jan 31 Javascript
Js中将Long转换成日期格式的实现方法
Jun 05 Javascript
浅谈vue加载优化策略
Mar 19 Javascript
微信小程序遍历Echarts图表实现多个饼图
Apr 25 Javascript
解决微信小程序中的滚动穿透问题
Sep 16 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
Dec 10 Javascript
JS动态显示倒计时效果
Dec 12 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 is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
JavaScript 继承的实现
2009/07/09 Javascript
js 走马灯简单实例
2013/11/21 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
javascript如何写热点图
2015/12/08 Javascript
JS实现队列与堆栈的方法
2016/04/21 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
javascript实现雪花飘落效果
2020/08/19 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
在Python程序中操作文件之flush()方法的使用教程
2015/05/24 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Tornado 多进程实现分析详解
2018/01/12 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
pandas每次多Sheet写入文件的方法
2018/12/10 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
利用Python优雅的登录校园网
2020/10/21 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
六道php面试题附答案
2014/06/05 面试题
护理个人求职信范文
2014/01/08 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
品牌服务方案
2014/06/03 职场文书
个人股份合作协议书
2014/10/24 职场文书
工作收入证明模板
2015/06/12 职场文书