zoukankan      html  css  js  c++  java
  • js05---js实现Map

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Untitled Document</title>
            <script type=text/javascript charset=utf-8>
            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){//obj[key]为0或者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);
            });
            </script>
        </head>
        <body>
        </body>
    </html>
  • 相关阅读:
    js正则匹配
    包含HTML的字符串去掉HTML标签
    smart-table 服务端请求真分
    禁用H5 表单验证novalidate
    webpack
    linux 进程查看及杀死进程
    配置ca服务器和http,mail加密
    mysql权限
    mysql查询
    mysql储存引擎
  • 原文地址:https://www.cnblogs.com/yaowen/p/6860892.html
Copyright © 2011-2022 走看看