Javascript实现的Map集合工具类完整实例


Posted in Javascript onJuly 31, 2015

本文实例讲述了Javascript实现的Map集合工具类。分享给大家供大家参考。具体如下:

var Map = function(){
  // 构造entry实体
  var Entry = function(key, value){
    this.key = key;
    this.value = value;
  }
  this.entries = new Array();
  // 构造put方法在数组中放入一个Entry
  this.put = function(key, value){
    // 数组中已存在就不放入
    for (var i = 0; i < this.size(); i++) {
      if (this.entries[i].key === key) {
        return false;
      }
    }
    this.entries.push(new Entry(key, value));
  };
  // 模拟get方法
  this.get = function(key){
    for (var i = 0; i < this.size(); i++) {
      if (this.entries[i].key === key) {
        return this.entries[i].value;
      }
    }
    return null;
  };
  // 查找下标值
  this.indexOf = function(key){
    var index = -1;
    for (var i = 0; i < this.size(); i++) {
      if (this.entries[i].key === key) {
        index = i;
        break;
      }
    }
    return index;
  }
  // 删除一个元素
  this.remove = function(key){
    var index = this.indexOf(key);
    if (index != -1) {
      this.entries.splice(index, 1);
    }
  }
  // 取得map长度
  this.size = function(){
    return this.entries.length;
  };
  // 重新设置键值对
  this.setValue = function(key, value){
    var index = this.indexOf(key);
    if (index != -1) {
      this.entries[i].value = value;
    };
  };
  // 是否为空map
  this.isEmpty = function(){
    return this.size() <= 0;
  };
  //清空map ;
  this.clear = function(){
    this.entries = [];
  };
  // 得到entry实体
  this.getEntry = function(index){
    if (index >= 0 && index < this.size()) {
      return this.entries[index];
    }
    return null;
  }
  this.toString = function(){
    var str = "[";
    for (var i = 0; i < this.size(); i++) {
      str += this.getEntry(i).key + "=" + this.getEntry(i).value + ",";
    }
    // 去除最后一个","
    str = str.substring(0, str.length - 1);
    str += "]";
    return str;
  };
}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
js表格分页实现代码
Sep 18 Javascript
基于JQuery的多标签实现代码
Sep 19 Javascript
javascript 判断字符串是否包含某字符串及indexOf使用示例
Oct 18 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
Aug 12 Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 Javascript
JS组件中bootstrap multiselect两大组件较量
Jan 26 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
Jun 14 Javascript
修改ligerui 默认确认按钮的方法
Dec 27 Javascript
BootstrapTable refresh 方法使用实例简单介绍
Feb 20 Javascript
浅谈Vuejs Prop基本用法
Aug 17 Javascript
jQuery 筛选器简单操作示例
Oct 02 jQuery
Vue+Java+Base64实现条码解析的示例
Sep 23 Javascript
JS特效实现图片自动播放并可控的效果
Jul 31 #Javascript
javascript实现列表滚动的方法
Jul 30 #Javascript
百度地图API之本地搜索与范围搜索
Jul 30 #Javascript
javaScript实现滚动新闻的方法
Jul 30 #Javascript
javascript中递归函数用法注意点
Jul 30 #Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
Jul 30 #Javascript
jQuery代码实现发展历程时间轴特效
Jul 30 #Javascript
You might like
在windows iis5下安装php4.0+mysql之我见
2006/10/09 PHP
php flush类输出缓冲剖析
2008/10/19 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
Javascript 布尔型分析
2008/12/22 Javascript
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
微信小程序按钮去除边框线分享页面功能
2018/08/27 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
2018/09/21 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
详细解读Python中的__init__()方法
2015/05/02 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Appium Python自动化测试之环境搭建的步骤
2019/01/23 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Python对excel的基本操作方法
2021/02/18 Python
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
办公室文秘岗位职责
2013/11/15 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
党组织结对共建协议书
2016/03/23 职场文书