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;
    }
  • 相关阅读:
    定义一个动态的二维数组?
    学习STL map, STL set之数据结构基础
    CMM
    详细解说STL string
    仔细选择你的容器
    C++字符串类string简析
    流氓软件及反流氓软件的技术分析
    标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
    C++资料下载
    unix系统操作命令大全
  • 原文地址:https://www.cnblogs.com/gavenQin/p/5577447.html
Copyright © 2011-2022 走看看