[JS] 简单map实现 (普通和 jquery 版本)
2010-04-10 11:38
423 查看
闲来无事写了个javascript 版本的map,希望能用最少的代码实现以下功能:
存储key-value对
取key-value对
用数组的方法遍历map
首先我们来看下普通的版本:
接下来是测试用例呵呵。。
遍历map的所有元素:
只要将上面的window
换成 “$”就是juqery的版本了,很方便吧。
上述版本是基于对象实现的map,所以这里有个限制
:map的key值不能为数字开头的key
存储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
相关文章推荐
- DataTable 递归 简单的程序,来实现无限级列表 结合 jquery.table.js 实现
- js/jQuery简单实现选项卡功能
- 使用原生js onkeyup+jQuery实现简单的双向数据绑定
- java简单多线程方式+实现文件上传(spring mvc + jquery.form.js 框架)
- 原生JS取代一些JQuery方法的简单实现
- JS加jquery简单实现标签元素的显示或隐藏
- jQuery实例―选项卡的简单实现(js源码和jQuery)
- 使用jquery.form.js实现form表单无刷新提交简单示例
- 使用jquery.form.js实现form表单无刷新提交简单示例
- jquery,js简单实现类似Angular.js双向绑定
- 原生js简单实现jQuery的动画效果
- JS中的Map简单实现
- 简单JS实现走马灯效果的文字(无需jQuery)
- JS简单实现JQuery选择器
- JS map的简单实现
- 使用js简单实现javaMap
- JS Map 和 List 的简单实现
- 一个最为简单的jquery 分页实现方法!可以用用于理解js分页的原理。
- 一直想写个js模板,现在终于写了个简单的版本,后续会增加更多功能(依赖jquery)
- JS加jquery简单实现标签元素的显示或隐藏