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 相关文章推荐
jQuery实现id模糊查询的小例子
Mar 19 Javascript
Knockout数组(observable)使用详解示例
Nov 15 Javascript
jQuery toggleClass应用实例(附效果图)
Apr 06 Javascript
Js+Jq获取URL参数的集中方法示例代码
May 20 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
Aug 24 Javascript
Backbone.js框架中简单的View视图编写学习笔记
Feb 14 Javascript
浅谈jQuery 选择器和dom操作
Jun 07 Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 Javascript
vue发送ajax请求详解
Oct 09 Javascript
JS实现字体背景跑马灯
Jan 06 Javascript
解决Vue中使用keepAlive不缓存问题
Aug 04 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
Dec 10 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
APMServ使用说明
2006/10/23 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
php strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
yii添删改查实例
2015/11/16 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
深入讲解PHP的对象注入(Object Injection)
2017/03/01 PHP
Laravel框架模板继承操作示例
2018/06/11 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
Python使用win32 COM实现Excel的写入与保存功能示例
2018/05/03 Python
对python3新增的byte类型详解
2018/12/04 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
python调用其他文件函数或类的示例
2019/07/16 Python
Numpy之reshape()使用详解
2019/12/26 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
2020/07/14 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
幼教毕业生自我鉴定
2014/01/12 职场文书
庆元旦演讲稿
2014/09/15 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
2014年转正工作总结
2014/11/08 职场文书
2014年教育工作总结
2014/11/26 职场文书
女性健康知识讲座主持词
2015/07/04 职场文书
Android超详细讲解组件ScrollView的使用
2022/03/31 Java/Android