3

我正在尝试在 Google Apps 脚本中制作和使用 Dictionary 对象。之前,我第一次为我的脚本使用了一个很长的 switch 语句,当我将它提交到 Gallery 时,批准它的人问我为什么不使用 Javascript Dictionary 对象。我研究了如何使用 Dictionary 对象,但现在我的脚本无法工作,因为 Google Apps 脚本不理解该命令:

Components.utils.import("resource://gre/modules/Dict.jsm");

此“导入”代码行直接从此 Javascript 参考网页复制:http: //developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Dict.jsm

如何包含使其工作所需的这个 javascript 库,或者 Google Apps 脚本替代 javascript Dictionary 对象是什么?

4

1 回答 1

6

任何时候你有一个switch看起来像这样的声明:

switch ( someValue ) {
case "string1": doSomething( valueForString1 ); break;
case "string2": doSomething( valueForString2 ); break;
// ... 
case "stringN": doSomething( valueForStringN ); break;
}

您可以将其替换为:

var dict = {
  "string1": valueForString1,
  "string2": valueForString2,
  // ...
  "stringN": valueForStringN
};

doSomething( dict[ someValue ] );

当然,这些值可以是任何东西:字符串、数字、对象、函数等等。您可能想检查字典中是否缺少值:

if (dict[someValue]) doSomething(dict[someValue]);
于 2012-12-28T18:53:50.450 回答