如何在 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);
我想在 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);