zoukankan      html  css  js  c++  java
  • js模拟map集合

    /** Map 用法.           //AM805 s
    *  var map = new Map();
    * map.put(" /. ][>?,国a", "aaa");
    * map.put("b","bbb");
    * map.put("cc","cccc");
    * map.put("'/doc/xab[2]/test[1]'","ccc");
    * map.remove("cc");
    * var array = map.keySet();
    * for(var i in array) {
    * document.write("key:(" + array[i] +") <br>value: ("+map.get(array[i])+") <br>");
    * }
    */
    
    /**
    * Map的构造函数
    */
    function Map(){
        this.container = new Object();
    }
    
    /**
    * 添加一个键-值
    */
    Map.prototype.put = function(key, value){
        this.container[key] = value;
    }
    
    /**
    * 通过键获取一个值
    */
    Map.prototype.get = function(key){
        return this.container[key];
    }
    
    /**
    * 返回该Map对象的键集合
    */
    Map.prototype.keySet = function() {
        var keyset = new Array();
        var count = 0;
        for (var key in this.container) {
            // 跳过object的extend函数
            if (key == 'extend') {
                continue;
            }
            keyset[count] = key;
            count++;
        }
        return keyset;
    }
    
    /**
    * 返回该Map对象的大小
    */
    Map.prototype.size = function() {
        var count = 0;
        for (var key in this.container) {
            // 跳过object的extend函数
            if (key == 'extend'){
            continue;
            }
            count++;
        }
        return count;
    }
    
    /**
    * 删除Map对象
    */
    Map.prototype.remove = function(key) {
    delete this.container[key];
    }
    
    /**
    * 返回该Map对象的字符串形式
    */
    Map.prototype.toString = function(){
        var str = "";
        for (var i = 0, keys = this.keySet(), len = keys.length; i < len; i++) {
            str = str + keys[i] + "=" + this.container[keys[i]] + ";
    ";
        }
        return str;
    }
  • 相关阅读:
    三十七、Java基础之JDBC
    三十六、Java基础之File类
    各种IoC框架下实现AOP
    Eclipse导出可执行Jar文件(包含第三方Jar包)
    设计模式(Patterns in Java)-解道
    MyBatis入门示例
    freemarker实例2
    freemarker小例子
    MyEclipse8.6 破解以及注册码
    myeclipse中java文件中文注释乱码问题
  • 原文地址:https://www.cnblogs.com/gavenQin/p/5577447.html
Copyright © 2011-2022 走看看