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嵌套函数调用上下文的问题解决
Mar 26 Javascript
再探JavaScript作用域
Sep 24 Javascript
JavaScript运动减速效果实例分析
Aug 04 Javascript
JavaScript判断手机号运营商是移动、联通、电信还是其他(代码简单)
Sep 25 Javascript
jQuery插件开发汇总
May 15 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
JavaScript 数组的进化与性能分析
Sep 18 Javascript
详解使用WebPack搭建React开发环境
Aug 06 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
Oct 11 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
Nov 02 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
Smarty保留变量用法分析
2016/05/23 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
JS获取本周周一,周末及获取任意时间的周一周末功能示例
2017/02/09 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
Python  连接字符串(join %)
2008/09/06 Python
对python中的高效迭代器函数详解
2018/10/18 Python
python后端接收前端回传的文件方法
2019/01/02 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
追悼会上的答谢词
2014/01/10 职场文书
超市总经理岗位职责
2014/02/02 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
股权收购意向书
2014/04/01 职场文书
任命书怎么写
2014/06/04 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
护理见习报告范文
2014/11/03 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
Python入门之使用pandas分析excel数据
2021/05/12 Python