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 相关文章推荐
列表内容的选择
Jun 30 Javascript
js中的事件捕捉模型与冒泡模型实例分析
Jan 10 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
Feb 03 Javascript
JQuery实现超链接鼠标提示效果的方法
Jun 10 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
Vue数据驱动模拟实现4
Jan 12 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
May 23 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
vue select组件的使用与禁用实现代码
Apr 10 Javascript
Vue实现微信支付功能遇到的坑
Jun 05 Javascript
React实现轮播效果
Aug 25 Javascript
Typescript类型系统FLOW静态检查基本规范
May 25 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
使用php验证复选框有效性的示例
2013/11/13 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
小程序实现分类页
2019/07/12 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
three.js 制作动态二维码的示例代码
2020/07/31 Javascript
django接入新浪微博OAuth的方法
2015/06/29 Python
简单的python后台管理程序
2017/04/13 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
python对文件目录的操作方法实例总结
2019/06/24 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
html5唤醒APP小记
2019/03/27 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
翻译学院毕业生自荐书
2014/02/02 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
2015年教研员工作总结
2015/05/26 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
2022/03/25 Python