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 this关键字的问题
Jan 09 Javascript
JavaScript实现动态增加文件域表单
Feb 12 Javascript
js自定义方法通过隐藏iframe实现文件下载
Feb 21 Javascript
js如何判断不同系统的浏览器类型
Oct 28 Javascript
jquery实现简单易懂的图片展示小例子
Nov 21 Javascript
node.js中的fs.chown方法使用说明
Dec 16 Javascript
JQuery中使文本框获得焦点的方法实例分析
Feb 28 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
Sep 19 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
vue+element实现打印页面功能
May 20 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 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
php采集速度探究总结(原创)
2008/04/18 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
2017/01/19 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
js实现随机点名程序
2020/09/17 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
python中返回矩阵的行列方法
2018/04/04 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
python离线安装外部依赖包的实现
2020/02/13 Python
python中可以声明变量类型吗
2020/06/18 Python
使用已经得到的keras模型识别自己手写的数字方式
2020/06/29 Python
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
超市促销实习自我鉴定
2013/09/23 职场文书
最新自我评价范文
2013/11/16 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
企业宣传策划方案
2014/05/29 职场文书
数学教研活动总结
2014/07/02 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
受伤赔偿协议书
2014/09/24 职场文书
八项规定整改方案
2014/10/01 职场文书
2015年企业新年寄语
2014/12/08 职场文书
开票证明
2015/06/23 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
了解Redis常见应用场景
2021/06/23 Redis
零基础学java之方法的定义与调用详解
2022/04/10 Java/Android