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中使用hasOwnProperty方法检索ajax响应对象的例子
Dec 08 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
分析了一下JQuery中的extend方法实现原理
Feb 27 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
Aug 05 Javascript
基于JS实现简单的样式切换效果代码
Sep 04 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
Sep 26 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
Vue-cli中为单独页面设置背景色的实现方法
Feb 11 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
如何利用javascript接收json信息并进行处理
Aug 06 Javascript
OpenLayers3实现地图显示功能
Sep 25 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
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
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php ios推送(代码)
2013/07/01 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP加密解密函数详解
2015/10/28 PHP
extjs DataReader、JsonReader、XmlReader的构造方法
2009/11/07 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
javascript中的float运算精度实例分析
2010/08/21 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
JS实现图片预加载之无序预加载功能代码
2017/05/12 Javascript
nodejs之get/post请求的几种方式小结
2017/07/26 NodeJs
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
3分钟了解vue数据劫持的原理实现
2019/05/01 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
动态创建类实例代码
2009/10/07 Python
MySQL最常见的操作语句小结
2015/05/07 Python
使用Python更换外网IP的方法
2018/07/09 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
pytorch之添加BN的实现
2020/01/06 Python
推荐一些比较有用的css3新属性
2014/11/11 HTML / CSS
迷你分体式空调:SoGoodToBuy
2018/08/07 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
给老师的道歉信
2014/01/11 职场文书
商业活动邀请函
2014/02/04 职场文书
教师党员个人自我评价
2015/03/04 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
Nginx反向代理及负载均衡如何实现(基于linux)
2021/03/31 Servers