是否需要创建一个对象才能分配两个级别的属性?

时间:2018-08-12 16:39:24

标签: javascript object google-apps-script

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

下面的代码可以工作,但是看起来不太整洁。关于如何执行此操作的一般共识是什么?

作为参考,我正在调用以下API:https://cloud.google.com/datastore/docs/reference/data/rest/v1/projects/commit

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)

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

哦,很重要的一点是,由于我使用的是Google Apps脚本,因此我仅限于JavaScript 1.6。

非常感谢您抽出宝贵的时间来回答这个问题。

0 个答案:

没有答案