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 相关文章推荐
ExtJS下grid的一些属性说明
Dec 13 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
Dec 19 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
Jan 12 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
Easy UI动态树点击文字实现展开关闭功能
Sep 30 Javascript
基于vue2.0动态组件及render详解
Mar 17 Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 Javascript
js实现缓动动画
Nov 25 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中MD5函数使用实例代码
2008/06/07 PHP
php设计模式 Builder(建造者模式)
2011/06/26 PHP
php制作动态随机验证码
2015/02/12 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
JavaScript修改css样式style
2008/04/15 Javascript
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
Javascript学习笔记2 函数
2010/01/11 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
2017/04/04 jQuery
一个可复用的vue分页组件
2017/05/15 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
Python实现各种排序算法的代码示例总结
2015/12/11 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
webView加载html图片遇到的问题解决
2019/10/08 HTML / CSS
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
2015学生会文艺部工作总结
2015/04/03 职场文书
商场收银员岗位职责
2015/04/07 职场文书
培训班通知
2015/04/25 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书