文档章节

javascript模拟实现Map

指尖残雪
 指尖残雪
发布于 2016/05/22 23:56
字数 240
阅读 3
收藏 0

使用javascript模拟实现Map,实现添加、删除、得到长度、得到数据,遍历


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Untitled Document</title>
		<script type=text/javascript charset=utf-8>
			
			
				function Map(){
					
					// private 
					var obj = {} ;// 空的对象容器,承装键值对
					
					// put 方法
					this.put = function(key , value){
							obj[key] = value ;		// 把键值对绑定到obj对象上
					}
					
					// size 方法 获得map容器的个数
					this.size = function(){
							var count = 0 ; 
							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 删除方法
					this.remove = function(key){
						if(obj[key] || obj[key] === 0 || obj[key] === false){
							delete obj[key];						
						}
					}
					
					// eachMap 变量map容器的方法
					this.eachMap = function(fn){
							for(var attr in obj){
								fn(attr, obj[attr]);
							}
					}
					
					
				}
			
				//模拟java里的Map
				var m = new  Map();
				m.put('01' , 'abc');
				m.put('02' , false) ;
				m.put('03' , true);
				m.put('04' , new Date());
				
				//alert(m.size());
				
				//alert(m.get('02'));
				//m.remove('03');
				//alert(m.get('03'));
				
				m.eachMap(function(key , value){
					 alert(key +" :"+ value);
				});
			
		</script>
	</head>
	<body>
	</body>
</html>


本文转载自:http://blog.csdn.net/bq1073100909/article/details/48479479

共有 人打赏支持
指尖残雪
粉丝 7
博文 73
码字总数 0
作品 0
上海
后端工程师
[译] 论 Rust 和 WebAssembly 对源码地址索引的极限优化

原文地址:Oxidizing Source Maps with Rust and WebAssembly 原文作者:Nick Fitzgerald 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:D-kylin Tom Tromey 和我尝...

LeviDing
07/16
0
0
使用scrapy的定制爬虫-第三章-爬虫的javascript支持

-.-编辑中.我语文是数学老师教的... 后续补充参考代码,链接. 很多网站都使用javascript...网页内容由js动态生成,一些js事件触发的页面内容变化,链接打开.甚至有些网站在没有js的情况下根本不...

斑ban
2013/04/04
0
4
2015年10个最佳Web开发JavaScript库

现在的互联网可谓是无所不有,有大量的JavaScript项目开发工具充斥于网络中。我们可以参考网上的指导来获取构建代码项目的各种必要信息。如果你是搞Web开发的,那么大多更喜欢支持前端开发的...

IanSun
2015/03/14
0
0
用Java(JUnit4)对JavaScript(含Ajax)脚本进行单元测试

一、背景 因为原来采用过Rhino(JS解析引擎,新版JDK中也默认包含另外一个解析引擎)来在Java环境中解析JavaScript并运行其中的方法。最近看到有人在问题里提问,模拟Ajax请求的问题。所以就...

NoahX
2013/04/09
0
3
Java执行JavaScript脚本破解encodeInp()加密

一:背景 在模拟登录某网站时遇到了用户名和密码被JS进行加密提交的问题,如图: 二:解决方法 conwork.js Methods.java 注意:Js文件在实例中默认保存在项目源文件夹下 更多推荐: Jsoup模拟...

巅峰小学生
02/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之高级类型的索引类型(Index types)

转发 TypeScript基础入门之高级类型的索引类型(Index types) 高级类型 索引类型(Index types) 使用索引类型,编译器就能够检查使用了动态属性名的代码。 例如,一个常见的JavaScript模式是从...

durban
26分钟前
0
0
利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

Linux就该这么学
今天
1
0
图像显示深入学习一:Activity启动过程

一个月左右写了图像显示深入学习之文章开篇文章表明了自己近期的计划,前半年重新学习了opengl es,c++以及Linux的一些知识,觉得是时候开始看图像这一块的源码了,边看边补缺补漏吧。 作为该...

JerryLin123
今天
3
0
给MySQL授权远程访问

putty登录服务器; 登录MySQL: mysql -u root -p 新建远程用户: CREATE USER 'myusername' IDENTIFIED BY 'mypassword'; 授权: grant all on *.* to john@'101.102.103.104' identified by......

sweethome
今天
3
0
在t-io老巢造谣,不过有造谣的就会有反造谣的!

只发当事人的截图,不发表评论,以免有引导嫌疑 PS: 截图是由不同的人发过来的 本人已经不在此微信群 图3:有造谣的,就有反造谣的 图4是2018-09-23的t-io官方群的一个发言小统计,有助于让...

talent-tan
今天
104
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部