最近项目里用js的map结构特别频繁,所以自己写了一个,结构如下(大概描述一下,详细的就不贴了)
[code="java"]function Map{
this.data = {};
}
Map.prototype.put = function(key,value){
this.data[key] = value;
}
Map.prototype.get = function(key){
return this.data[key] ;
}[/code]
原来使用数组实现的this.data = [];
可是使用了ext框架,数组里扩充的方法比较多,for in遍历有点麻烦,就改成这样了。
但是现在出现了比较麻烦的问题
[code="java"]var m = new Map();
m.put("123fff","fishyu2010");[/code]
根本put不进去,我猜想可能是对象不支持以数字开头的属性
本来想在key的前面加个字符,可是
我在项目中已经大量使用了for(var p in m.data){}这样了遍历,这样就会有问题了。
请问高手们有没有好的解决办法。