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工具_Form 封装
Aug 21 Javascript
js 鼠标移动显示图片的简单实例
Dec 25 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 Javascript
函数式 JavaScript(一)简介
Jul 07 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
浅谈Javascript中的函数、this以及原型
Oct 09 Javascript
vue.js实现表格合并示例代码
Nov 30 Javascript
vue组件的写法汇总
Apr 12 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 Javascript
es6 for循环中let和var区别详解
Jan 12 Javascript
一起来看看Vue的核心原理剖析
Mar 24 Vue.js
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+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
2018/04/20 PHP
js滚动条多种样式,推荐
2007/02/05 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
JSON数据中存在单个转义字符“\”的处理方法
2018/07/11 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
对pandas中Series的map函数详解
2018/07/25 Python
python实现图片筛选程序
2018/10/24 Python
python pyheatmap包绘制热力图
2018/11/09 Python
python 批量添加的button 使用同一点击事件的方法
2019/07/17 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
财务信息服务专业自荐书范文
2014/02/08 职场文书
购房意向书
2014/08/30 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
个人贷款收入证明
2014/10/26 职场文书
撤诉书怎么写
2015/05/19 职场文书
教师研修随笔感言
2015/11/18 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
Python实现智慧校园自动评教全新版
2021/06/18 Python