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

在JavaScript/jQuery中使用属性中的数组构建普通对象,javascript,jquery,Javascript,Jquery,考虑这一点: var items = {}; var id = 'varID'; if (typeof items.id == 'undefined') { items.id = {}; } 据我所知,这会将空属性id分配给普通对象项 如何使用变量id,将属性varID分配给普通对象项 items[id] = items[id] || {}; //Does the same work as the if statement 而不是items.id。使用此选项,您可以指定动态属性。 (

考虑这一点:

var items = {};
var id = 'varID';
if (typeof items.id == 'undefined') {
    items.id = {};
}
据我所知,这会将空属性
id
分配给普通对象

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

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.
查看更多信息


这是两种方法。显然,第二个与第一个稍有不同,后者更简单。

不,它不会将其转换为
数组。