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 相关文章推荐
jQuery select操作控制方法小结
May 26 Javascript
克隆javascript对象的三个方法小结
Jan 12 Javascript
JavaScript 上万关键字瞬间匹配实现代码
Jul 07 Javascript
jQuery实现预加载图片的方法
Mar 17 Javascript
简述JavaScript的正则表达式中test()方法的使用
Jun 16 Javascript
Javascript实现的Map集合工具类完整实例
Jul 31 Javascript
checkbox批量选中,获取选中项的值的简单实例
Jun 28 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
Sep 19 Javascript
JS实现碰撞检测的方法分析
Jan 19 Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
May 14 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 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
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
JS实现适合于后台使用的动画折叠菜单效果
2015/09/21 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
JavaScript的设计模式经典之建造者模式
2016/02/24 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
JavaScript获取URL中参数querystring的方法详解
2016/10/11 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
如何在vue-cli中使用css-loader实现css module
2021/01/07 Vue.js
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
Python中模块pymysql查询结果后如何获取字段列表
2017/06/05 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
linux系统都有哪些运行级别
2012/04/15 面试题
应聘自荐书
2013/10/08 职场文书
超市营业员求职简历的自我评价
2013/10/17 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
公证委托书大全
2014/04/04 职场文书
保护野生动物倡议书
2014/05/16 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
2015年党风廉政建设个人总结
2015/08/18 职场文书
进阶篇之linux环境下安装MySQL数据库
2022/04/09 MySQL
python的html标准库
2022/04/29 Python