首页 > 解决方案 > 如何在 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 实现不支持这个?

标签: javascriptgoogle-apps-scripthashtableecmascript-5

解决方案


不幸的是,计算属性名称是 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);


推荐阅读