如何在 Google Apps 脚本中将变量用于散列 table 键?

How to use a variable for a hash table key in Google Apps Script?

我想在 Google Apps 脚本中使用包含散列 table 键值的变量。

代替:

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

但是,当尝试按照建议 here 对关键变量使用方括号时,编辑器将抛出错误

Invalid property ID

也许 Google Apps 脚本 Javascript 实现不支持这个?

不幸的是,computed property names 是 ES6 中的一项功能,Google Apps 脚本仍在 ES5 中。

相反,您可以通过使用 bracket notation []:

在对象上设置键来从变量创建键

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);