JavaScript创建Map对象

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);
})

猜你喜欢

转载自blog.csdn.net/hundan_520520/article/details/80915681