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常见问题整理(持续更新)
Aug 06 Javascript
js校验表单后提交表单的三种方法总结
Feb 28 Javascript
js/jquery判断浏览器的方法小结
Sep 02 Javascript
封装好的javascript前端分页插件pagination
Jan 04 Javascript
javascript之Array 数组对象详解
Jun 07 Javascript
浅谈JS函数定义方式的区别
Oct 30 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 Javascript
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
使用Vue写一个datepicker的示例
Jan 27 Javascript
Vue CLI3中使用compass normalize的方法
May 30 Javascript
微信小程序 导入图标实现过程详解
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 form 表单传参明细研究
2009/07/17 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
JS在IE下缺少标识符的错误
2014/07/23 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
2017/07/24 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
中软Java笔试题
2012/11/11 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
校园奶茶店创业计划书
2014/01/23 职场文书
主要负责人任命书
2014/06/06 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书
开学随笔
2015/08/15 职场文书
工程主管竞聘书
2015/09/15 职场文书
餐厅开业活动方案
2019/07/08 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
mysql创建存储过程及函数详解
2021/12/04 MySQL
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记