Javascript 是否需要创建对象才能指定两层属性?

Javascript 是否需要创建对象才能指定两层属性?,javascript,object,google-apps-script,Javascript,Object,Google Apps Script,我正在尝试使用一个API,该API要求我在预定义的结构中构造请求主体。它充满了多层层次结构,我不确定创建这样一个数据结构的最佳方式是什么 下面的代码可以工作,但看起来并不整洁。关于如何开展这项工作的普遍共识是什么 作为参考,我正在调用以下API: 如果我删除了entity.properties[property]={}我的代码错误,但那一行并不适合我 哦,值得一提的是,由于我使用的是谷歌应用程序脚本,所以我只能使用JavaScript 1.6。 非常感谢您花时间回答这个问题。您没有明确地局限于J

我正在尝试使用一个API,该API要求我在预定义的结构中构造请求主体。它充满了多层层次结构,我不确定创建这样一个数据结构的最佳方式是什么

下面的代码可以工作,但看起来并不整洁。关于如何开展这项工作的普遍共识是什么

作为参考,我正在调用以下API:

如果我删除了
entity.properties[property]={}
我的代码错误,但那一行并不适合我

哦,值得一提的是,由于我使用的是谷歌应用程序脚本,所以我只能使用JavaScript 1.6。


非常感谢您花时间回答这个问题。

您没有明确地局限于JS 1.6-应用程序脚本有一些细节,即
Object.create
Object.defineProperty/ies
,这可能很有用。一般来说,(对我来说)最可维护的代码是您已经拥有的代码,因为意图非常清楚,即使对于那些不熟悉JavaScript的人来说也是如此。可能有用的是@tehhowch的一部分谢谢!
var transaction = {
    transaction: transactionId,
    mode: 'TRANSACTIONAL',
    mutations: []
};

var entity = {
  key: {
    kind: kind
  },
  properties: {}
};

if (args.entityId) {
  entity.key.id = args.entityId;
}

for (var property in args) {
  if (args[property].dataType) {
    var propertyType = args[property].dataType + 'Value';
    entity.properties[property] = {};
    entity.properties[property][propertyType] = args[property].value;
  }
}

var mutation  = new Object();
mutation[operationType] = entity; 

transaction.mutations.push(mutation)