文档章节

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
如何实现JavaScript的Map和Filter函数?

译者按: 鲁迅曾经说过,学习JavaScript最好方式莫过于敲代码了! 原文: Master Map & Filter, Javascript’s Most Powerful Array Functions 译者: Fundebug 为了保证可读性,本文采用意译而非...

Fundebug
2017/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spark性能优化之道

Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势 本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partition...

GordonNemo
21分钟前
2
0
大数据驱动业务决策,CDN实时日志重磅上线

摘要: 阿里云CDN上线了实时日志功能,打通日志服务(SLS)的能力,将CDN采集的实时日志,在小于60秒的时间内投递至日志服务,进行实时、交互式分析和报表呈现。通过CDN日志的实时分析,可以快...

阿里云官方博客
26分钟前
3
0
springCloud学习笔记系列(3)-服务容错保护:Spring Cloud Feign

Feign包含了Ribbon和Hystrix,这个在实战中才慢慢体会到它的意义,所谓的包含并不是Feign的jar包包含有Ribbon和Hystrix的jar包这种物理上的包含,而是Feign的功能包含了其他两者的功能这种逻...

快乐的小火柴
28分钟前
1
0
各种数据库数据类型差异

文本 整数 浮点数 decimal Hive数据库 create table default.foo ( a DECIMAL, -- Defaults to decimal(10,0) b DECIMAL(20), -- Defaults to decimal(20,0) c DECIMAL(9, 7), d DE......

了凡川
32分钟前
3
0
springboot中filter的用法

一、在spring的应用中我们存在两种过滤的用法,一种是拦截器、另外一种当然是过滤器。我们这里介绍过滤器在springboot的用法,在springmvc中的用法基本上一样,只是配置上面有点区别。 二、f...

xiaomin0322
51分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部