【发布时间】:2013-10-30 00:49:27
【问题描述】:
我有一个电子表格,其中包含大约 60 列作为表单提交的结果。目前我在 ScriptProperties(Google Apps 脚本)中存储“列 X 表示 Y”:
Key“时间戳”
Value0
这样我就可以通过变量名而不是无意义的数字对列索引进行有意义的引用,但目前这会导致大约 60 个 API 调用,这会稍微减慢执行速度。
我想为整个电子表格创建一个列索引的枚举,因为它将保持静态,如下所示:
var formResults = {
timestamp: 0,
firstName: 1,
lastName: 2,
...
status: 60
}
这样我就不必引用脚本属性(通过调用 API 来减慢执行速度)。假设我在脚本开始时初始化了这个formResults 变量,我想做的下一件事是在电子表格中创建一个代表row 的新对象。即:
for (allRows in sheet) {
var rowData = new Object(formResults);
}
我希望我的目标能够实现 - 我想使用 enum 使用枚举的所有值创建一个新的 object。枚举可以是一个模板,用于从每一行中的数据形成一个新对象。
我知道我可以遍历每一行,然后遍历电子表格的每一列并执行以下操作:
var row = row_in_spreadsheet; // row[0] = first column of the row for instance
var rowData = {
timestamp: row[formResults.timestamp], // row[0]
firstName: row[formResults.firstName], // row[1]
lastName: row[formResults.lastName], // row[2]
...
status: row[formResults.status] // row[60]
}
我宁愿没有 60 行代码来创建一个对象...有什么方法可以使用枚举中的索引作为 模板 从数据中创建一个新对象在每一行?还是最后一段代码是完成此任务的唯一方法?
【问题讨论】:
标签: javascript object enums google-apps-script