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 相关文章推荐
sogou地图API用法实例教程
Sep 11 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
Apr 12 Javascript
jQuery菜单插件superfish使用指南
Apr 21 Javascript
jQuery 遍历函数详解
Jul 05 Javascript
如何使用jquery修改css中带有!important的样式属性
Apr 28 Javascript
三种带箭头提示框总结实例
Jun 14 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
Nov 25 Javascript
JS绘制微信小程序画布时钟
Dec 24 Javascript
前端把html表格生成为excel表格的实例
Sep 19 Javascript
vue-cli监听组件加载完成的方法
Sep 07 Javascript
Vue退出登录时清空缓存的实现
Nov 12 Javascript
Element InputNumber计数器的使用方法
Jul 27 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
数字转英文
2006/12/06 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
php将HTML表格每行每列转为数组实现采集表格数据的方法
2015/04/03 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
JQuery的$命名冲突详细解析
2013/12/28 Javascript
jQuery实现菜单式图片滑动切换
2015/03/14 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
Bootstrap布局方式详解
2016/05/27 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
vue 2.0 购物车小球抛物线的示例代码
2018/02/01 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
Python判断直线和矩形是否相交的方法
2015/07/14 Python
python动态网页批量爬取
2016/02/14 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
通过cmd进入python的实例操作
2019/06/26 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
python怎么对数字进行过滤
2020/07/05 Python
Python 解析库json及jsonpath pickle的实现
2020/08/17 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
大学生毕业自荐信
2013/10/10 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Python利用folium实现地图可视化
2021/05/23 Python
Python必备技巧之字符数据操作详解
2022/03/23 Python
golang用type-switch判断interface的实际存储类型
2022/04/14 Golang