【发布时间】:2011-09-13 19:51:51
【问题描述】:
我想用<String, String array> 而不是<String,Integer> 在javascript 中声明一个hashmap。那怎么办?
【问题讨论】:
标签: javascript hashmap
我想用<String, String array> 而不是<String,Integer> 在javascript 中声明一个hashmap。那怎么办?
【问题讨论】:
标签: javascript hashmap
如果您打算使用 javascript Array 对象,请注意数组索引只能通过整数访问。
var arr = [];
arr['person'] = 'John Smith';
alert(arr.length); // returns 0, not an array anymore;
和
var arr = [];
arr[0] = 'John Smith';
alert(arr.length); // returns 1, still an array;
以上内容可以在 javascript 中使用,但 var arr 实际上不再是数组对象。例如,您无法对其进行排序。
所以对于你的 hashmap 你可以做
var map = new Object();
map['person'] = [];
map['person']['test'] = 'myvalue';
map['person']['test2'] = 'myvalue2';
alert(map['person']['test']);
【讨论】:
var arr = {};
new Object(),它不如{}优化(我知道,微优化不值得麻烦)并且有人可能已经覆盖了Object。跨度>