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 弹出框定位实现方法
Dec 02 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
May 23 Javascript
ExpressJS入门实例
Jan 14 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
BootStrap给table表格的每一行添加一个按钮事件
Sep 07 Javascript
使用rollup打包JS的方法步骤
Dec 05 Javascript
ES6知识点整理之对象解构赋值应用示例
Apr 17 Javascript
Vue 幸运大转盘实现思路详解
May 06 Javascript
layui radio单选限制下一个radio单选的实例
Sep 03 Javascript
《javascript设计模式》学习笔记四:Javascript面向对象程序设计链式调用实例分析
Apr 07 Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 Javascript
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
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
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
vue watch关于对象内的属性监听
2019/04/22 Javascript
javascript实现蒙版与禁止页面滚动
2020/01/11 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
JavaScript如何实现防止重复的网络请求的示例
2021/01/28 Javascript
Python实例之wxpython中Frame使用方法
2014/06/09 Python
python 接口测试response返回数据对比的方法
2018/02/11 Python
spark: RDD与DataFrame之间的相互转换方法
2018/06/07 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
django框架两个使用模板实例
2019/12/11 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
详解pandas赋值失败问题解决
2020/11/29 Python
关于Java finally的面试题
2016/04/27 面试题
工程测量与监理专业应届生求职信
2013/11/27 职场文书
加工操作管理制度
2014/01/19 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
2021/12/06 HTML / CSS