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 相关文章推荐
一段利用WSH获取登录时间的jscript代码
May 11 Javascript
基于prototype扩展的JavaScript常用函数库
Nov 30 Javascript
利用js 进行输入框自动匹配字符的小例子
Jun 29 Javascript
javascript禁制后退键(Backspace)实例代码
Nov 15 Javascript
Javascript保存网页为图片借助于html2canvas库实现
Sep 05 Javascript
js关于命名空间的函数实例
Feb 05 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
Jun 12 Javascript
AngularJS 服务详细讲解及示例代码
Aug 17 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
老生常谈JavaScript中的this关键字
Oct 01 Javascript
JS查找字符串中出现最多的字符及个数统计
Feb 04 Javascript
JavaScript从原型到原型链深入理解
Jun 03 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模板引擎SMARTY
2006/10/09 PHP
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
jQuery判断iframe中元素是否存在的方法
2013/05/11 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
Vue实现省市区三级联动
2020/12/27 Vue.js
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
windows下Virtualenvwrapper安装教程
2017/12/13 Python
Python调用C语言的方法【基于ctypes模块】
2018/01/22 Python
python实践项目之监控当前联网状态详情
2019/05/23 Python
python实现宿舍管理系统
2019/11/22 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
python中关于数据类型的学习笔记
2020/07/19 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
Python爬虫后获取重定向url的两种方法
2021/01/19 Python
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
校园活动策划书范文
2014/01/10 职场文书
敬老文明号事迹材料
2014/01/16 职场文书
五年级数学教学反思
2014/02/11 职场文书
服装店员工管理制度
2015/08/07 职场文书