【问题标题】:JS associative arrays: add new pairJS关联数组:添加新对
【发布时间】:2011-10-19 16:20:51
【问题描述】:

我在 JS 中有一个关联数组。

var array = {
    'one' : 'first',
    'two' : 'second',
    'three' : 'third'
};

如何在其中添加新对

【问题讨论】:

  • Javascript 没有“关联数组”。它有对象(它们是名称/值对的无序集合)和数组,它们只是具有特殊长度属性的对象和一些对具有数字名称的属性进行操作的便捷方法。数组属性也是无序的,但可以使用循环(for、while 或 do)按顺序访问。

标签: javascript arrays dictionary associative-array


【解决方案1】:

(可能有点晚,但对未来的开发者非常有用)

我建议https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map,而不是尝试创建关联数组或创建自己的对象 它更方便;)

// Eg. 1
let wrongMap = new Map()
wrongMap['bla'] = 'blaa'
wrongMap['bla2'] = 'blaaa2'

console.log(wrongMap)  // Map { bla: 'blaa', bla2: 'blaaa2' }

// Eg .2
let contacts = new Map()
contacts.set('Jessie', {phone: "213-555-1234", address: "123 N 1st Ave"})
contacts.has('Jessie') // true
contacts.get('Hilary') // undefined
contacts.set('Hilary', {phone: "617-555-4321", address: "321 S 2nd St"})
contacts.get('Jessie') // {phone: "213-555-1234", address: "123 N 1st Ave"}
contacts.delete('Raymond') // false
contacts.delete('Jessie') // true
console.log(contacts.size) // 1

【讨论】:

    【解决方案2】:

    它是一个对象字面量,而不是真正的“关联数组”。

    只要array['something'] = 'something';

    【讨论】:

      【解决方案3】:
      array['newpair'] = 'new value';
      

      array.newpair = 'newvalue';
      

      This is quite a decent read on the subject.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-09
        • 2013-07-10
        • 1970-01-01
        • 2014-09-29
        • 2012-01-23
        相关资源
        最近更新 更多