直接看代码:

 //模拟一个Map对象
function Map(){ //声明一个容器
var container={}; //定义一个put方法,向容器中存值
this.put=function(key,value){
container[key]=value;
} //通过key获取value
this.get=function(key){
if(container[key] || container[key]===0 || container[key]===false){
return container[key]
}else{
return null;
}
} //获取map中存入键值对的个数
this.size=function(){
var count=0;
//遍历对象属性
for(var attr in container){
count++;
}
return count;
} //遍历map并传入一个回调函数,该函数有2个参数,一个接收key,一个接收value
this.each=function(callback){
for(var attr in container){
callback(attr,container[attr]);
}
} //从map中删除数据
this.remove=function(key){
delete container[key];
}
}

代码测试:

 //通过put存值
var map=new Map(); map.put("name","caoyc");
map.put("age",25);
map.put("phone","13700000000"); //通过get获取值
document.write("1:通过get方法获取值<br/>");
document.write("name:"+map.get("name"));
document.write("<hr/>"); //获取map中存入键值对的个数
document.write("2:获取map中存入键值对的个值<br/>");
document.write("size:"+map.size());
document.write("<hr/>"); //使用回调函数遍历map
document.write("3:使用回调函数遍历map<br/>");
map.each(function(key,value){
document.write(key+":"+value);
document.write("<br/>");
});
document.write("<hr/>"); //使用remove删除数据
document.write("4:使用remove删除数据<br/>");
map.remove("name");
document.write("删除后再次遍历map<br/>");
map.each(function(key,value){
document.write(key+":"+value);
document.write("<br/>");
});
document.write("<hr/>");

最终输出结果:

在JavaScript 自定义对象来模拟Java中的Map的更多相关文章

  1. js 模拟java 中 的map

    //js模拟map Map = { obj : {}, put : function(key , value){ this.obj[key] = value; }, get : function(ke ...

  2. js中object类型模拟java中的map

  3. javascript 实现java中的Map

    javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-e ...

  4. java中遍历map对象的多种方法

    在Java中如何遍历Map对象   How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...

  5. Map java中的map 如何修改Map中的对应元素

    Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象.         Map的接口         Map ...

  6. Java中Set Map List 的区别

    java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...

  7. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  8. Java开发知识之Java中的Map结构

    Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...

  9. Java中遍历map的四种方法 - 转载

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

随机推荐

  1. ERROR 1201 (HY000) Could not initialize master info structure

    1.错误原因:Slave线程启动出现问题.2.解决办法一:stop slave; reset slave; start slave; show slave status\G3.如果解决方法一,还是失败 ...

  2. Oracle一列的多行数据拼成一行显示字符

    Oracle一列的多行数据拼成一行显示字符   oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数.    www.2cto.com   先介绍:WMSYS.WM_CO ...

  3. Scala的Actor模式 & Akka框架

    今天学Spark的时候,看到Scala的actor模式是一个加分点.所以搜了一下,看了.主要参考下面两篇文章,还没有实验,有些地方领会的不深刻: http://nxlhero.blog.51cto.c ...

  4. count-the-repetitions

    https://leetcode.com/problems/count-the-repetitions/ 下面是我的方法,结果对的,超时了... package com.company; class ...

  5. [css] vertical-align和line-height

    原文链接:http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-height/ ...

  6. hadoop 入门实例【转】

    原文链接:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html 1.数据去重  "数据去重"主要是为了掌握 ...

  7. JavaScript的事件对象_概述/this

    JavaScript 事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功能. 最方便和强大的就是事件对象,他们可以帮你处理鼠标事件和键盘敲击方面的情况,此外还可以修改一般事 ...

  8. C#_abstract的用法

    /// <summary> /// 抽像类 /// </summary> public abstract class Hello { private string msg = ...

  9. 根据用户输入的二代身份证号码自动为其计算生成出生日期的javascript方法

    if(idTypeIsChecked.checked == true){//如果选中的是二代身份证 var birthDateValue = document.getElementById('idNu ...

  10. DOS命令行中的双引号

    在DOS命令窗口下,运行C:\Program Files\WinRAR\WinRAR.exe,提示如下错误: 因为C:\Program Files\WinRAR\WinRAR.exe中含有空格,它被分 ...