javascript - 如何在 Google Apps 脚本中使用变量作为哈希表键?
问题描述
我想使用一个包含 Google Apps 脚本中哈希表键值的变量。
代替:
var folderRoots = {
"EYFS English":"sdfg0987897sdfga3",
"EYFS Italian":"sdf8f9g7897sfdfg7",
}
var b = folderRoots["EYFS English"]; // gets sdfg0987897sdfga3
我想使用:
var depEYFSEn = "EYFS English";
var depEYFSIt = "EYFS Italian";
var folderRoots = {
[depEYFSEn]:"sdfg0987897sdfga3",
[depEYFSIt]:"sdf8f9g7897sfdfg7",
}
var b = folderRoots[depEYFSEn]; // gets sdfg0987897sdfga3
但是,当尝试按照此处的建议对键变量使用方括号时,编辑器将抛出错误
无效的属性 ID
也许 Google Apps Script Javascript 实现不支持这个?
解决方案
不幸的是,计算属性名称是 ES6 中的一个特性,而 Google Apps 脚本仍然在 ES5 中。
相反,您可以通过使用括号表示法[]
在对象上设置键来从变量创建键:
var depEYFSEn = "EYFS English";
var depEYFSIt = "EYFS Italian";
var folderRoots = {};
folderRoots[depEYFSEn] = "sdfg0987897sdfga3";
folderRoots[depEYFSIt] = "sdf8f9g7897sfdfg7";
var b = folderRoots[depEYFSEn]; // gets sdfg0987897sdfga3
console.log(b);
推荐阅读
- python - 如何最好地定义在 Apache Beam / Google Cloud Dataflow 中并行化的“工作单元”
- asp.net - 合并两个或多个 IEnumerable
在(asp.net)中添加下拉列表 - node.js - 找不到 Babel 节点 - Heroku 部署
- flutter - 并排颤动列表视图和列
- python - 文本框中带有颜色的 Python tkinter 文本
- python - 在第一个实例之后替换python df中第n次出现的字符串或使用groupby的选项?
- php - 使用四分位函数时出现致命错误
- google-bigquery - 加载作业后何时可以在 Google BigQuery 中查询数据?
- node.js - Angular Universal 不提供静态资源
- sql - 日期差异,SQL 中的两个变量