在JavaScript中实现自己的Map对象

HashMap在程序设计中,具有无可替代的重要作用。它提供m.put(key,value); m.get(key);之类的数据存储及读取方式,非常方便。但在JavaScript(HTML4.0的版本) 中,并没有提供这样的一种对象。以下这段代码用于创建Map对象,我已使用多年,效果良好,供需要的朋友参考。

 

一、Map源代码


    /**  Map is a general map object for storing key value pairs
     *  @param m - default set of properties
     */
var Map =function(m) {
        var map;
        if (typeof m == 'undefined') map = new Array();
        else map = m;
       
        /**
         * Get a list of the keys to check
         */
        this.keys = function() {
            var _keys = new Array();
            for (var _i in map){
                _keys.push(_i);
            }
            return _keys;//
        };
        /**
         * Put stores the value in the table
         * @param key the index in the table where the value will be stored
         * @param value the value to be stored
         */
        this.put = function(key,value) {
            map[key] = value;
        };
        /**
         * Return the value stored in the table
         * @param key the index of the value to retrieve
         */
        this.get = function(key) {
            return map[key];
        };
        /**
         * Remove the value from the table
         * @param key the index of the value to be removed
         */
        this.remove =  function(key) {
            map[key]=null;
            delete map[key];
        };
        /**
         *  Clear the table
         */
        this.clear = function() {
            delete map;
            map = new Array();
        };
    }

 

二、创建Map对象

var m=new Map();

m.put("id","1000");

m.put("name","张三");

 

三、运用

<div id="testMap"'></div>

 <script type='text/javascript'>

      document.getElementById("testMap").innerHTML=m.get("name");

 </script>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值