在JavaScript中实现自己的Map对象
2011-11-15 13:25
337 查看
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>
一、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>
相关文章推荐
- javascript实现java的map对象,js实现new map()
- JavaScript Map对象的实现
- javascript 实现的类似于java里的Map对象
- JavaScript中实现类似Java中的Map对象
- 修改IE不兼容MAP()的问题,自定义实现JavaScript的Map对象
- 自定义实现JavaScript的Map对象,修改IE不兼容MAP()的问题
- javascript实现java的map对象,js实现new map()
- javascript实现的java里的Map对象
- javascript实现的java里的Map对象
- javascript 实现的类似于java里的Map对象
- 修改IE不兼容MAP()的问题,自定义实现JavaScript的Map对象
- [项目bug收集整理2] Map的key,如果是非内置对象,需要自己实现hashCode和equals方法
- [项目bug收集整理2] Map的key,如果是非内置对象,需要自己实现hashCode和equals方法
- javascript实现Java中的Map对象功能的实例详解
- JavaScript实现的Map
- JS中的Map和Set实现映射对象
- java实现面向对象和javaScript基于对象的区别&java垃圾回收机制和其他编程语言的比较
- java 自己实现的简单Map
- 用JAVASCRIPT实现静态对象、静态方法和静态属性
- JavaScript从入门到放弃(3)-对象的不同创建方法-实现真正的面向对象