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中判断用户输入的值是否为空的简单实例
Dec 23 Javascript
js使用eval解析json实例与注意事项分享
Jan 18 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
Aug 15 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
Apr 03 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
解决layer.confirm选择完之后消息框不消失的问题
Sep 16 Javascript
基于layui的下拉列表的数据回显方法
Sep 24 Javascript
js实现中文实时时钟
Jan 15 Javascript
vue和小程序项目中使用iconfont的方法
May 19 Javascript
如何利用JavaScript实现二叉搜索树
Apr 02 Javascript
详解JVM系列之内存模型
Jun 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
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
PHP排序算法的复习和总结
2012/02/15 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
2014/01/26 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
通过实例理解javascript中没有函数重载的概念
2015/06/03 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
pm2 部署 node的三种方法示例
2017/10/20 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
利用Python破解斗地主残局详解
2017/06/30 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
django最快程序开发流程详解
2019/07/19 Python
深入了解python中元类的相关知识
2019/08/29 Python
python实现飞行棋游戏
2020/02/05 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
python Autopep8实现按PEP8风格自动排版Python代码
2021/03/02 Python
医药专业推荐信
2013/11/15 职场文书
应届专科生个人的自我评价
2014/01/05 职场文书
给老婆的搞笑检讨书
2014/01/12 职场文书
班级旅游计划书
2014/05/03 职场文书
医药销售自我评价200字
2014/09/11 职场文书
罚站检讨书
2015/01/29 职场文书
论语读书笔记
2015/06/26 职场文书
三八节活动简报
2015/07/20 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
python之django路由和视图案例教程
2021/07/26 Python
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技
python中validators库的使用方法详解
2022/09/23 Python