使用JavaScript / jQuery中的属性构建具有数组的普通对象

时间:2014-04-10 15:45:38

标签: javascript jquery

考虑一下:

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

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

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

1 个答案:

答案 0 :(得分:5)

尝试

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() 中查看更多内容。

这是两种方法。显然,第二个与第一个有点不同。