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 相关文章推荐
javascript 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
js 动态生成json对象、时时更新json对象的方法
Dec 02 Javascript
IntersectionObserver API 详解篇
Dec 11 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
JS和canvas实现俄罗斯方块
Mar 14 Javascript
详解node HTTP请求客户端 - Request
May 05 Javascript
Jquery EasyUI $.Parser
Jun 02 jQuery
layui弹出层按钮提交iframe表单的方法
Aug 20 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
Nov 05 Javascript
js实现坦克移动小游戏
Oct 28 Javascript
vue实现全屏滚动效果(非fullpage.js)
Mar 07 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实现批量删除挂马文件及批量替换页面内容完整实例
2016/07/08 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
从javascript语言本身谈项目实战
2006/12/27 Javascript
Web 前端设计模式--Dom重构 提高显示性能
2010/10/22 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
jquery实现动态画圆
2014/12/04 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
基于JavaScript实现幸运抽奖页面
2020/07/05 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
wxPython实现窗口用图片做背景
2018/04/25 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
python绘制彩虹图
2019/12/16 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
2013年军训通讯稿
2014/02/05 职场文书
Go语言实现Snowflake雪花算法
2021/06/08 Golang
Python中request的基本使用解决乱码问题
2022/04/12 Python