標籤:set his 語言 js對象 map容器 bsp var har count
//javascript中類比實現java語言中的map
實現代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript">
//private
var obj={};//空的對象容器,用於承裝索引值對
function Map()
{
//put方法
this.put=function(key,value)
{
obj[key]=value;//把索引值對綁定到js對象上
}
//使用者用去map容器的個數
this.size=function()
{
//定義一個變數用於記錄個數
var count=0;
for(var attr in obj)
{
count++;
}
return count;
}
//根據key得到value值
this.get=function(key)
{
/**
因為在js中如果變數為0,在判斷的條件中表示為false(類型自動轉換)
*/
if(obj[key]||obj[key]===0||obj[key]===false)
{
return obj[key];
}
else
{
return null;
}
}
//根據key刪除
this.remove=function(key)
{
if(obj[key]||obj[key]===0||obj[key]===false)
{
delete obj[key];
}
}
//遍曆map中的元素
this.eachMap=function(fun)
{
for(var attr in obj)
{
fun(attr,obj[attr]);
}
}
}
//類比java中的map
var m=new Map();
m.put("1",‘徐守威‘);
m.put("2",25);
m.put("3",true);
m.put("4",new Date());
//console.log(m.size());
//console.log(m.get("1"));
//m.remove("1");
//console.log(m.get("1"));
m.eachMap(function(key,value){
console.log(key+" : "+value)
});
</script>
</head>
<body>
</body>
</html>
javascript中類比實現java語言中的map