javascript实现Java中的Map对象功能的实例详解


Posted in Javascript onAugust 21, 2017

javascript  自定义对象实现Java中的Map对象功能

Java中有集合,Map等对象存储工具类,这些对象使用简易,但是在JavaScript中,你只能使用Array对象。

这里我创建一个自定义对象,这个对象内包含一个数组来存储数据,数据对象是一个Key,可以实际存储的内容! 

这里Key,你要使用String类型,和Java一样,你可以进行一些增加,删除,修改,获得的操作。

使用很简单,我先把工具类给大家看下:

/** 
 * @version 1.0 
 * @author cuisuqiang@163.com 
 * 用于实现页面 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函数
Apr 09 Javascript
javascript 解析url的search方法
Feb 09 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
node.js中的path.normalize方法使用说明
Dec 08 Javascript
jQuery实现自动滚动到页面顶端的方法
May 22 Javascript
鼠标悬停小图标显示大图标
Jan 22 Javascript
基于JavaScript实现带缩略图的轮播效果
Jan 12 Javascript
基于node.js依赖express解析post请求四种数据格式
Feb 13 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
Mar 14 Javascript
JS中Map和ForEach的区别
Feb 05 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
Vue使用轮询定时发送请求代码
Aug 10 Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 #Javascript
JavaScript中各数制转换全面总结
Aug 21 #Javascript
JQuery判断正整数整理小结
Aug 21 #jQuery
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
Aug 21 #Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 #Javascript
Node.js简单入门前传
Aug 21 #Javascript
详解基于webpack2.x的vue2.x的多页面站点
Aug 21 #Javascript
You might like
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
利用php输出不同的心形图案
2016/04/22 PHP
javascript引导程序
2008/10/26 Javascript
JS 类型转换常见方法小结
2010/05/31 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
2016/08/08 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
[01:04:01]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第一场
2014/05/24 DOTA
理解Python中函数的参数
2015/04/27 Python
深入浅析python定时杀进程
2016/06/06 Python
python通过socket实现多个连接并实现ssh功能详解
2017/11/08 Python
python批量导入数据进Elasticsearch的实例
2018/05/30 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
机电专业毕业生求职信
2013/10/27 职场文书
行政助理的职责
2013/11/14 职场文书
副董事长岗位职责
2014/04/02 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
群众路线调研报告范文
2014/11/03 职场文书
广告业务员岗位职责
2015/02/13 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL