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>
  • 相关阅读:
    jquery引入页面公共部分
    webpack1:安装webpack及项目创建
    windows命令中的cd
    区分IE8 、IE9 、IE10的专属css hack
    HSLA色相饱和透明度
    jquery开关按钮效果
    Jquery样式
    CSS文本溢出显示省略号
    数组重排
    webstorm node 3000端口被占用
  • 原文地址:https://www.cnblogs.com/yaowen/p/6860892.html
Copyright © 2011-2022 走看看