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 相关文章推荐
可以将word转成html的js代码
Apr 11 Javascript
Javascript 面向对象 重载
May 13 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
jsonp原理及使用
Oct 28 Javascript
jQuery中:only-child选择器用法实例
Jan 03 Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
从零学习node.js之express入门(六)
Feb 25 Javascript
解决微信二次分享不显示摘要和图片的问题
Aug 18 Javascript
AngularJS 的$timeout服务示例代码
Sep 21 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 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
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
2011/11/02 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
php  PATH_SEPARATOR判断当前服务器系统类型实例
2016/10/28 PHP
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
JS控制网页动态生成任意行列数表格的方法
2015/03/09 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
react-native DatePicker日期选择组件的实现代码
2017/09/12 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python函数式编程
2017/07/20 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
对python sklearn one-hot编码详解
2018/07/10 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
python数据抓取3种方法总结
2021/02/07 Python
应聘教师自荐信
2013/10/12 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
学校标语大全
2014/06/19 职场文书
毕业生找工作求职信
2014/08/05 职场文书
物业管理委托协议(2篇)
2014/09/23 职场文书
运动会报道稿300字
2014/10/02 职场文书
死亡证明书样本说明
2014/10/18 职场文书
运动会观后感
2015/06/09 职场文书
个人更名证明
2015/06/23 职场文书
Django drf请求模块源码解析
2021/06/08 Python
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
Nginx速查手册及常见问题
2022/04/07 Servers
Zabbix6通过ODBC方式监控Oracle 19C的详细过程
2022/09/23 Servers