这个练习是使用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