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 相关文章推荐
更正确的asp冒泡排序
May 24 Javascript
jquery中animate动画积累的解决方法
Oct 05 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
May 04 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
May 06 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
Apr 20 Javascript
微信小程序实现收藏与取消收藏切换图片功能
Aug 03 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 Javascript
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
微信小程序实现上传多个文件 超过10个
Mar 30 Javascript
详解关于Vue单元测试的几个坑
Apr 26 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目录管理函数小结
2008/09/10 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
使用 webpack 插件自动生成 vue 路由文件的方法
2019/08/20 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
在nodejs中创建child process的方法
2021/01/26 NodeJs
Python递归遍历列表及输出的实现方法
2015/05/19 Python
Python可变参数用法实例分析
2017/04/02 Python
python的help函数如何使用
2020/06/11 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
求职自荐信范文格式
2013/11/29 职场文书
大学生工作推荐信范文
2013/12/02 职场文书
内容编辑个人求职信
2013/12/10 职场文书
优秀学生自我鉴定范例
2013/12/18 职场文书
2015中秋节慰问信范文
2015/03/23 职场文书
售房协议书范本
2015/08/11 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
golang特有程序结构入门教程
2021/06/02 Python
Java使用Unsafe类的示例详解
2021/09/25 Java/Android
nginx访问报403错误的几种情况详解
2022/07/23 Servers