JavaScript教程-15-Object练习模拟java中的Map

这个练习是使用object的功能来模拟java中的Map的一些功能。练习中有些涉及到了方法的使用。该部分内容后面会涉及。大家可以提前去看看相关的内容。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Object练习模拟java中的Map</title>
		<script type="text/javascript">
			
			//定义Map 方法。在map 方法中再次定义各种针对map的操作
			function Map(){
				//定义用于保存键值对的object对象
				var obj = {};
				//添加键值对,模拟put
				this.put = function(key, value){
					obj[key] = value;
				};
				
				//删除键值对,模拟remove
				this.remove = function(key){
					delete obj[key];
				};
				
				//通过key获得value,模拟 get
				this.get = function(key){
					if(obj.hasOwnProperty(key)){
						return obj[key];
					}
					return null;
				};
				
				//获取键值对数量  模拟 size
				this.size = function(){
					var count = 0;
					for(var attr in obj){
						count ++;
					}
					return count;
				};
				
				//遍历键值对 : 
				//参数是一个函数。
				this.forEach = function(fn){
					for(var attr in obj){
						fn(attr,obj[attr]);
					}
				};
			};
			
			//测试
			var map = new Map();
			map.put("1",1);
			map.put("2",true);
			map.put("3","abc");
			map.put("4",undefined);
			map.put("5",new Date());
			alert(map.size());//5
			map.remove("4");
			alert(map.size());//4
			alert(map.get("5"));//Wed Mar 18 2020 16:56:58 GMT+0800 (中国标准时间)
			
			//遍历map
			map.forEach(function(key, value){
				alert(key + ":"+value);
			})
			
		</script>
	</head>
	<body>
	</body>
</html>

PS:笔者有大量的学习资料:java、python、大数据、人工智能、前端等。需要的小伙伴请加群:711408961

笔者的b站中有一些教学视频分享。感兴趣的小伙伴可以关注:https://space.bilibili.com/412362068

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值