用js模仿java裏的Map,存入,獲取,大小,遍歷,移除

<script type="text/javascript">

      function Map(){
        var obj = {};

        //put方法
        this.put = function(key,value){
          obj[key] = value;
        }

        //對象大小
        this.size = function(){
         var num = 0;
         for(var arr in b=obj){
           num++;
         }
         return num;
        }

        //通過key獲得值
        this.get = function(key){
          if (obj[key] || obj[key] === 0 || obj[key] == false) {
            return obj[key];
          }else{
            return null;
          }
        }

        //移除key
        this.remove = function(key){
          delete obj[key];
        }

        //遍歷對象裏的key
        this.eachMap = function(fn){
          for(var arr in obj){
            fn(arr,obj[arr]);
          }
        }

      }

      //模仿java裏的Map
      var m = new Map();
      m.put('01','哈哈');
      m.put('02',123);
      m.put('03',true);

      console.log(m.size());
      console.log(m.get('03'));
      console.log(m.remove('02'));
      m.eachMap(function(key,value){
        console.log(key + " " + value);
      });
    </script>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章