【问题标题】:Build plain object with arrays in properties in JavaScript/jQuery [duplicate]在 JavaScript/jQuery 的属性中使用数组构建普通对象 [重复]
【发布时间】:2014-05-24 10:34:22
【问题描述】:

考虑一下:

var items = {};
var id = 'varID';
if (typeof items.id == 'undefined') {
    items.id = {};
}

据我了解,这会将空属性 id 分配给普通对象 items

如何使用变量id 将属性varID 分配给普通对象items

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    试试

    items[id] = items[id] || {}; //Does the same work as the if statement
    

    而不是items.id。有了它,您可以分配 动态 属性。 (相信我,我曾经遇到过同样的问题。)

    或者你可以使用Object.defineProperty(obj, prop, descriptor)(有点不同)。

    引用文档:

    The Object.defineProperty() method defines a new property directly on an object 
    or modifies an existing property on an object, and returns the object.
    

    Object.defineProperty() 中查看更多信息。

    这是解决问题的两种方法。显然第二个与第一个更简单的有点不同。

    【讨论】:

    • 不,它不会将其转换为array
    猜你喜欢
    • 2012-12-07
    • 1970-01-01
    • 2015-06-10
    • 1970-01-01
    • 2022-01-16
    • 2019-04-21
    • 1970-01-01
    相关资源
    最近更新 更多