如何在Google Apps脚本中使用Dictionary javascript类?

use*_*166 3 javascript dictionary object google-apps-script

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

Components.utils.import("resource://gre/modules/Dict.jsm");
Run Code Online (Sandbox Code Playgroud)

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

如何包含该JavaScript库才能使其正常运行,或者Google脚本替代javascript字典对象的方法是什么?

Poi*_*nty 5

任何时候您得到的switch声明看起来都像这样:

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

您可以将其替换为:

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

doSomething( dict[ someValue ] );
Run Code Online (Sandbox Code Playgroud)

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

if (dict[someValue]) doSomething(dict[someValue]);
Run Code Online (Sandbox Code Playgroud)