当前位置:编程学习 > JAVA >>

在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","张三");

 

 

 

三、运用 www.zzzyk.com

 

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

 

 <script type='text/javascript'>

 

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

 

 </script>

 

摘自wj800的专栏

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,