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 相关文章推荐
使用jquery的ajax需要注意的地方dataType的设置
Aug 12 Javascript
JS+CSS实现DIV层的展开、收缩效果
Jan 28 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
Aug 25 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
Feb 18 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
微信小程序仿美团城市选择
Jun 06 Javascript
tracking.js页面人脸识别插件使用方法
Apr 16 Javascript
electron实现静默打印的示例代码
Aug 12 Javascript
vue-cli随机生成port源码的方法
Sep 02 Javascript
js实现图片实时时钟
Jan 15 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
zf框架的数据库追踪器使用示例
2014/03/13 PHP
PHP APC配置文件2套和参数详解
2014/06/11 PHP
Docker 如何布置PHP开发环境
2016/06/21 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
PHP反射基础知识回顾
2020/09/10 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jQuery实现用户输入自动完成功能
2017/02/13 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
BootStrap表单验证 FormValidation 调整反馈图标位置的实例代码
2017/05/17 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
Python代码调试的几种方法总结
2015/04/15 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
北京SQL新华信咨询
2016/09/30 面试题
应届生污水处理求职信
2013/11/06 职场文书
读书活动总结范文
2014/04/26 职场文书
团员个人年度总结
2015/02/26 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
创业计划书之旅游网站
2019/09/06 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS