如何在JavaScript中创建哈希或字典对象

这个问题在这里已经有了答案:

  • JavaScript哈希表等效17个答案

  • 如果您想要命名键,请不要使用数组,如果使用普通对象。

    var a = {};
    a["key1"] = "value1";
    a["key2"] = "value2";
    

    然后:

    if ("key1" in a) {
       // something
    } else {
       // something else 
    }
    

    JavaScript中现在提供了内置的Map类型。 它可以用来代替简单地使用Object。 它受到所有主流浏览器的当前版本的支持。

    地图不支持Objects使用的[subscript]符号。 该语法将subscript值隐式转换为原始字符串或符号。 地图支持任何值作为关键字,所以您必须使用.get(key) .has(key) .set(key, value).has(key)

    var m = new Map();
    var key1 = 'key1';
    var key2 = {};
    var key3 = {};
    
    m.set(key1, 'value1');
    m.set(key2, 'value2');
    
    console.assert(m.has(key2), "m should contain key2.");
    console.assert(!m.has(key3), "m should not contain key3.");

    你想创建一个对象,而不是一个数组。

    像这样,

    var Map = {};
    
    Map['key1'] = 'value1';
    Map['key2'] = 'value2';
    

    您可以通过多种方式检查密钥是否存在:

    Map.hasOwnProperty(key);
    Map[key] != undefined // For illustration // Edit, remove null check
    if (key in Map) ...
    
    链接地址: http://www.djcxy.com/p/26639.html

    上一篇: How to create a hash or dictionary object in JavaScript

    下一篇: Check if a key exists inside a json object