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实现动态表格点击按钮表格增加一行
Aug 24 Javascript
React-router v4 路由配置方法小结
Aug 08 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
Vue调试神器vue-devtools安装方法
Dec 12 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 Javascript
JavaScript面向对象程序设计创建对象的方法分析
Aug 13 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 Javascript
微信小程序canvas.drawImage完全显示图片问题的解决
Nov 30 Javascript
vue打开新窗口并实现传参的图文实例
Mar 04 Vue.js
详细聊聊浏览器是如何看闭包的
Nov 11 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 简单日历实现代码
2009/10/28 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
2014/05/15 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
javascript学习笔记(七) js函数介绍
2012/06/19 Javascript
利用jQuery实现可输入搜索文字的下拉框
2013/10/23 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python中List.index()方法的使用教程
2015/05/20 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
深入理解Python装饰器
2016/07/27 Python
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
Python操作mongodb的9个步骤
2018/06/04 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
大专计算机个人求职的自我评价
2013/10/21 职场文书
户外婚礼策划方案
2014/02/08 职场文书
会计专业导师推荐信
2014/03/08 职场文书
小学二年级学生评语
2014/04/21 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
2015国际残疾人日活动总结
2015/03/24 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
2015初中政教处工作总结
2015/07/21 职场文书
课程设计感想范文
2015/08/11 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
mysql函数全面总结
2021/11/11 MySQL