欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

在JavaScript中实现自己的Map对象

程序员文章站 2022-04-07 10:42:18
...
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.2cto.com

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

<script type='text/javascript'>

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

</script>

相关标签: JavaScript