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 相关文章推荐
javascript引导程序
Oct 26 Javascript
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
Apr 02 Javascript
jQuery模拟点击A标记示例参考
Apr 17 Javascript
对Web开发中前端框架与前端类库的一些思考
Mar 27 Javascript
JavaScript计算器网页版实现代码分享
Jul 15 Javascript
js创建数组的简单方法
Jul 27 Javascript
AngularJS表单验证中级篇(3)
Sep 28 Javascript
讲解vue-router之什么是动态路由
May 28 Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 Javascript
vue实现条件叠加搜索的解决方法
May 28 Javascript
express框架下使用session的方法
Jul 31 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
session在PHP大型web应用中的使用
2011/06/25 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
javascript定时保存表单数据的代码
2011/03/17 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
Python 函数返回值的示例代码
2019/03/11 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
python numpy数组复制使用实例解析
2020/01/10 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
运动会广播稿100字
2014/01/11 职场文书
信息管理专业自荐书
2014/06/05 职场文书
旅行社优秀创业计划书
2014/08/16 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
离婚协议书样本
2015/01/26 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
导游词之桂林山水
2019/09/20 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js
一次线上mongo慢查询问题排查处理记录
2022/03/18 MongoDB
索尼ICF-36收音机评测
2022/04/30 无线电