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 相关文章推荐
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
Feb 03 Javascript
Javascript实现滑块滑动改变值的实现代码
Apr 12 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
JS动态修改图片的URL(src)的方法
Apr 01 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
JavaScript正则表达式简单实用实例
Jun 23 Javascript
vue中本地静态图片路径写法
Mar 06 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
JavaScript面向对象中接口实现方法详解
Jul 24 Javascript
vue使用一些外部插件及样式的配置代码
Nov 18 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
Oct 30 Javascript
让Vue响应Map或Set的变化操作
Nov 11 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 session 预定义数组
2009/03/16 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
js确定对象类型方法
2012/03/30 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
vuex中store存储store.commit和store.dispatch的用法
2020/07/24 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
python制作花瓣网美女图片爬虫
2015/10/28 Python
儿童编程python入门
2018/05/08 Python
wxPython实现分隔窗口
2019/11/19 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
Django nginx配置实现过程详解
2020/09/10 Python
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
美德少年事迹材料500字
2014/08/19 职场文书
答谢词范文
2015/01/05 职场文书
企业党员岗位承诺书
2015/04/27 职场文书
2016党员入党决心书
2015/09/22 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
python 镜像环境搭建总结
2022/09/23 Python