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 HashTable
Jan 22 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
Dec 29 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
javascript类型转换使用方法
Feb 08 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
Sep 27 Javascript
JS禁止查看网页源代码的实现方法
Oct 12 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
vuex实现及简略解析(小结)
Mar 01 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
May 28 Javascript
微信小程序实现手势滑动卡片效果
Aug 26 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 Javascript
JavaScript实例 ODO List分析
Jan 22 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
构建简单的Webmail系统
2006/10/09 PHP
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
php判断是否为json格式的方法
2014/03/04 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
js同源策略详解
2015/05/21 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
python在多玩图片上下载妹子图的实现代码
2013/08/13 Python
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python地图绘制实操详解
2019/03/04 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
HTML5的文档结构和新增标签完全解析
2017/04/21 HTML / CSS
澳大利亚百货公司:David Jones
2018/02/08 全球购物
索桥的故事教学反思
2014/02/06 职场文书
三万活动总结
2014/04/28 职场文书
2015年感恩父亲节活动策划方案
2015/05/05 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang