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中prop()方法和attr()方法的区别浅析
Sep 06 Javascript
js 判断文件类型并控制表单提交示例代码
Nov 14 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
node.js解决获取图片真实文件类型的问题
Dec 20 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
《JavaScript函数式编程》读后感
Aug 07 Javascript
理解Javascript的call、apply
Dec 16 Javascript
js实现的光标位置工具函数示例
Oct 03 Javascript
理解JavaScript原型链
Oct 25 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
May 15 Javascript
js实现左右两侧浮动广告
Jul 09 Javascript
小程序图片长按识别功能的实现方法
Aug 30 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
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
一个不易被发现的PHP后门代码解析
2014/07/05 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
React优化子组件render的使用
2019/05/12 Javascript
[02:28]DOTA2 2017国际邀请赛小组赛回顾
2017/08/09 DOTA
详解Python中DOM方法的动态性
2015/04/11 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
python实现学生信息管理系统
2020/04/05 Python
图解Python中深浅copy(通俗易懂)
2020/09/03 Python
美国家具网站:Cymax
2016/09/17 全球购物
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
网络工程师的自我评价
2013/10/02 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
国家励志奖学金获奖感言
2014/01/09 职场文书
小学生操行评语
2014/04/22 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
小数乘法教学反思
2016/02/22 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL