在JavaScript 自定义对象来模拟Java中的Map
直接看代码:
//模拟一个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的更多相关文章
- js 模拟java 中 的map
//js模拟map Map = { obj : {}, put : function(key , value){ this.obj[key] = value; }, get : function(ke ...
- js中object类型模拟java中的map
- javascript 实现java中的Map
javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-e ...
- java中遍历map对象的多种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...
- Map java中的map 如何修改Map中的对应元素
Map java中的map 如何修改Map中的对应元素 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map ...
- Java中Set Map List 的区别
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构 ...
- Java中遍历Map集合的四种方法
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- Java开发知识之Java中的Map结构
Java开发知识之Java中的Map结构 一丶Map接口 Map没有实现Collection接口,提供的是Key 到Value的映射. Map中.不能包含相同的Key,每个Key只能映射一个Value ...
- Java中遍历map的四种方法 - 转载
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
随机推荐
- ERROR 1201 (HY000) Could not initialize master info structure
1.错误原因:Slave线程启动出现问题.2.解决办法一:stop slave; reset slave; start slave; show slave status\G3.如果解决方法一,还是失败 ...
- Oracle一列的多行数据拼成一行显示字符
Oracle一列的多行数据拼成一行显示字符 oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数. www.2cto.com 先介绍:WMSYS.WM_CO ...
- Scala的Actor模式 & Akka框架
今天学Spark的时候,看到Scala的actor模式是一个加分点.所以搜了一下,看了.主要参考下面两篇文章,还没有实验,有些地方领会的不深刻: http://nxlhero.blog.51cto.c ...
- count-the-repetitions
https://leetcode.com/problems/count-the-repetitions/ 下面是我的方法,结果对的,超时了... package com.company; class ...
- [css] vertical-align和line-height
原文链接:http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-height/ ...
- hadoop 入门实例【转】
原文链接:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html 1.数据去重 "数据去重"主要是为了掌握 ...
- JavaScript的事件对象_概述/this
JavaScript 事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功能. 最方便和强大的就是事件对象,他们可以帮你处理鼠标事件和键盘敲击方面的情况,此外还可以修改一般事 ...
- C#_abstract的用法
/// <summary> /// 抽像类 /// </summary> public abstract class Hello { private string msg = ...
- 根据用户输入的二代身份证号码自动为其计算生成出生日期的javascript方法
if(idTypeIsChecked.checked == true){//如果选中的是二代身份证 var birthDateValue = document.getElementById('idNu ...
- DOS命令行中的双引号
在DOS命令窗口下,运行C:\Program Files\WinRAR\WinRAR.exe,提示如下错误: 因为C:\Program Files\WinRAR\WinRAR.exe中含有空格,它被分 ...