【问题标题】:declare hashmap in javascript with <String,String array>用 <String,String array> 在 javascript 中声明 hashmap
【发布时间】:2011-09-13 19:51:51
【问题描述】:

我想用&lt;String, String array&gt; 而不是&lt;String,Integer&gt; 在javascript 中声明一个hashmap。那怎么办?

【问题讨论】:

    标签: javascript hashmap


    【解决方案1】:

    如果您打算使用 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。跨度>
    猜你喜欢
    • 2016-01-13
    • 2014-07-20
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    相关资源
    最近更新 更多