您的位置:首页 > Web前端 > JQuery

[JS] 简单map实现 (普通和 jquery 版本)

2010-04-10 11:38 423 查看
闲来无事写了个javascript 版本的map,希望能用最少的代码实现以下功能:

存储key-value对

取key-value对

用数组的方法遍历map

首先我们来看下普通的版本:

(function($){
$.imap = function(){
var imap = this.map = {};
this.get = function(key){
var val = eval("imap."+key);
return  (typeof val === undefined) ? null : val;
};
this.set = function(key,value){
eval("imap."+key+"=value");
};
};
})(window);


接下来是测试用例呵呵。。

var map = new window.imap();
19         map.set('strKey','hello world');
20         document.write("the value of key 'strKey' in map is " + map.get('strKey')+"<br/    >");
21
22         var obj = { a : 'z'};
23         map.set('objKey' , obj);
24         document.write("the value of key 'objKey' in map is " + map.get('objKey')+"<br/    >");


遍历map的所有元素:

for(var ele in map.map){
document.write("key:"+ele +"//value:"+ map.get(ele)+"<br/>");

}


只要将上面的window


换成 “$”就是juqery的版本了,很方便吧。

上述版本是基于对象实现的map,所以这里有个限制

:map的key值不能为数字开头的key
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: