【问题标题】:How to use a variable for a hash table key in Google Apps Script?如何在 Google Apps 脚本中使用变量作为哈希表键?
【发布时间】:2019-06-23 14:15:25
【问题描述】:

我想在 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

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

属性 ID 无效

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

【问题讨论】:

    标签: javascript google-apps-script hashtable ecmascript-5


    【解决方案1】:

    不幸的是,computed property names 是 ES6 中的一个特性,而 Google Apps Script 仍然在 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);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-20
      • 2014-10-16
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多