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 css在IE和Firefox中区别分析
Feb 18 Javascript
javascript form 验证函数 弹出对话框形式
Jun 23 Javascript
JSON中双引号的轮回使用过程中一定要小心
Mar 05 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
Jun 24 Javascript
js获取当前时间(昨天、今天、明天)
Nov 23 Javascript
实例解析Array和String方法
Dec 14 Javascript
js实现延迟加载的几种方法
Apr 24 Javascript
Node.Js中实现端口重用原理详解
May 03 Javascript
Angular服务Request异步请求的实例讲解
Aug 13 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
vue.js实现双击放大预览功能
Jun 23 Javascript
jQuery+ajax实现用户登录验证
Sep 13 jQuery
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
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
Ext.MessageBox工具类简介
2009/12/10 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
JS实现根据密码长度显示安全条功能
2017/03/08 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
Python实现KNN邻近算法
2021/01/28 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
详解python with 上下文管理器
2020/09/02 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
法律系毕业生自荐信范文
2014/03/27 职场文书
寒假家长评语大全
2014/04/16 职场文书
副处级干部考察材料
2014/05/17 职场文书
环境监测与治理技术专业求职信
2014/07/06 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
预备党员转正材料
2014/12/19 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫