JavaScript实现Java中Map容器的方法


Posted in Javascript onOctober 09, 2016

本文实例讲述了JavaScript实现Java中Map容器的方法。分享给大家供大家参考,具体如下:

声明一下,JavaScript和Java的区别就像雷锋和雷峰塔的区别.

在Java中,Map是一种集合,用来存储Key-Value键值对的容器.根据键得到值,因此不允许键重复(重复了的覆盖),但允许值重复.JavaScript中的对象特性,就是不允许有相同的属性存在,和Java的Map非常的相似,所以可以利用这个特性在JavaScript中来实现Map容器,实现基本的增删查的操作.

function Map(){
  var obj = new Object(); //空对象容器,承装键值对
  //put方法
  this.put = function(key,value){
    obj[key] = value;   //把键值对绑定obj对象上
  }
  //size方法,获取Map容器个数
  this.size = function(){
    var count;
    for(var attr in obj){
      count++;
    }
    return count;
  }
  //get方法,根据key取得value
  this.get = function(key){
    if(obj[key] || obj[key] === 0 || obj[key] === false){
      return obj[key];
    }else{
      return null;
    }
  }
  //remove方法,根据key来删除键值对
  this.remove = function(key){
    if(obj[key] || obj[key] === 0 || obj[key] === false){
      delete obj[key];
    }
  }
  //遍历map容器元素方法,eachMap
  this.eachMap = function(fn){
    for(var attr in obj){
      fn(attr,obj[attr]);
    }
  }
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS排序方法(sort,bubble,select,insert)代码汇总
Jan 30 Javascript
JavaScript模拟鼠标右键菜单效果
Dec 08 Javascript
jQuery实现带水平滑杆的焦点图动画插件
Mar 08 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
Jul 05 Javascript
Node.js中文件操作模块File System的详细介绍
Jan 05 Javascript
详解AngularJS 路由 resolve用法
Apr 24 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
Aug 29 Javascript
vue根据值给予不同class的实例
Sep 29 Javascript
微信小程序image图片加载完成监听
Aug 31 Javascript
vue实现页面内容禁止选中功能,仅输入框和文本域可选
Nov 09 Javascript
JavaScript基于对象去除数组重复项的方法
Oct 09 #Javascript
JS中this上下文对象使用方式
Oct 09 #Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
Oct 09 #Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
Oct 09 #Javascript
BootStrap中Table分页插件使用详解
Oct 09 #Javascript
微信小程序 for 循环详解
Oct 09 #Javascript
微信小程序 条件渲染详解
Oct 09 #Javascript
You might like
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python视频按帧截取图片工具
2019/07/23 Python
python属于解释型语言么
2020/06/15 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
python调用win32接口进行截图的示例
2020/11/11 Python
python音频处理的示例详解
2020/12/23 Python
HTML5中如何显示视频呢 HTML5视频播放demo
2013/06/08 HTML / CSS
办公室助理岗位职责
2013/12/25 职场文书
森林病虫害防治方案
2014/06/02 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
2014年库房工作总结
2014/11/26 职场文书
春季运动会开幕词
2015/01/28 职场文书
清明扫墓感想
2015/08/11 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库