Google 应用程序脚本 - 为什么我不能使用方法进行输入?

Google App Script - Why can I not use methods for an input?

我正在尝试为 Google 电子表格创建自定义函数,但我遇到了问题。 这段 Google App Script 代码 returns 错误:

TypeError: Cannot read property "length" from undefined. (line 2, file "Code")

function FOO(input) {
      var x = input.length
      return x
    }

谁能告诉我哪里出了问题?

以下有效且不会引发错误:

function FOO(input) { 
  return input

此外,none的输入方法也有效,例如input.mapinput.values

在电子表格中,=FOO(A1) returns 1 和 =FOO(A1:A5) returns 5。所以它工作正常。

在脚本编辑器中,如果您只是运行 FOO(),那么您将收到一个错误,因为您没有传入input。您需要创建一个测试函数并 运行 代替它。

function test_FOO() {
  var input = [1];
  Logger.log(FOO(input));
}