yybing85 2010-03-16 09:59
浏览 305
已采纳

js对象做map用时遇到的棘手问题,高手看看

最近项目里用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){}这样了遍历,这样就会有问题了。

请问高手们有没有好的解决办法。

  • 写回答

6条回答 默认 最新

  • wanghaolovezlq 2010-03-16 10:40
    关注

    我测试你写的map,是可以正常put进去的

    对象是完全支持以数字开头的属性,只不过引用方式就要改变一下

    var obj ={};

    obj['111aaa'] = 'aaaa';

    这样是完全没问题的,只是不能用obj.111aaa来取属性了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?