利用js中的Object对象模拟java中的Map:
/*模拟Map*/
function Map(){
var obj = {}
//this指代new Map()这个对象即 m
this.put = function(key,value){
obj[key] = value
}
this.get = function(key){
if(obj[key]||obj[key]===0||obj[key]===false){ //一些必要的判断
return obj[key]
}else{
return null
}
}
this.size = function(){
var count = 0
for(var attr in obj){
count++
}
return count
}
this.remove = function(key){
if(obj[key]||obj[key]===0||obj[key]===false){
delete obj[key]
}
}
this.eachMap = function(fn){ //fn是一个回调函数
for(var attr in obj){
fn(attr,obj[attr])
}
}
}
var m = new Map()
m.put('01',1)
m.put('02',0)
m.put('03',false)
m.put('04',4)
alert(m.size()) // 4
m.remove('04')
alert(m.get('04')) //null
alert(m.size()) // 3
//遍历Map
m.eachMap(function(key,value){
alert(key+" : "+value)
})