7_引用类型(【四】object练习模拟Map)
7_引用类型(【四】object练习模拟Map)
1217528969 发表于3年前
7_引用类型(【四】object练习模拟Map)
  • 发表于 3年前
  • 阅读 14
  • 收藏 1
  • 点赞 1
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: 简单实现JAVA中Map
//使用js模拟java中的Map
function Map(){
    var obj = {};
    this.put = function(key, value){
        if(key){
            obj[key] = value;
        }
    };
    
    this.get = function(key){
        if(key || obj[key] === 0 || obj[key] === false){
            return obj[key];
        }
        return null;
    };
    this.size = function(){
        var count = 0;
        for(var attr in obj){
            count++;
        }
        return count;
    };
    
    this.remove = function(key){
        //注意此处的判断条件
        if(key || obj[key] === 0 || obj[key] === false){
            delete obj[key];
        }
    };
    
    this.each = function(fn){
        for(var attr in obj){
            fn(attr, obj[attr]);
        }
    };
    
    this.keys = function(){
        var keys = [];
        for(var attr in obj){
            keys.push(attr);
        }
        return keys;
    };
}

var m = new Map();
m.put("01", "abc");
m.put("02", false);
m.put("03", true);
m.put("04", new Date());
console.info(m.size());
console.info(m.get("02"));
m.remove("03");
console.info(m.get("03"));
m.each(function(key, value){
    console.info(key + " --> " + value);
});
共有 人打赏支持
粉丝 2
博文 27
码字总数 14810
×
1217528969
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: