在google-sheet脚本编辑器中 - 不能对数组中的字符串使用subsrting函数

时间:2015-06-14 08:25:22

标签: javascript arrays google-sheets

在我的代码中,函数调用数组和字符串, 它在所有字符串中寻找同样的乞讨 在阵列中。

它是这样的:

function tavnit(train, str) {
  f=0;
  i=0;
  while ((f==0) && (i<train.length))
  {
    var trs=train[i];
    if (str.substring(0,2)==trs.substring(0,2))
    {
      f=1
    }
    i++
  }
  return f;
}

保存时没有错误,但在运行时有 -

  

TypeError:无法在对象XXVXJ中找到函数子字符串。 (第7行)。

为什么不重新组合字符串?我应该如何识别呢?

1 个答案:

答案 0 :(得分:0)

我发现了问题 - 当google sheet函数使用列作为参数时 - 它不是简单的数组 - 它是一个矩阵,实现为数组数组:

[[tvg],[ttxv],[..],..]

因此,如果你想调用字符串,首先需要调用i数组,然后再调用数组中的第一个(也是唯一的)对象 -

这就是我解决它的方式:

function tavnit(train, str) {
  f=0;
  i=0;
  while ((f==0) && (i<train.length))
 {
 line=train[i];
 trs=line[0];
 if (sametavnit(str, trs)==1)
  {
    return 1;
  }
 i++
 }
return f;
}