数组未定义问题

时间:2016-10-19 20:34:34

标签: google-apps-script google-sheets

我遇到以下功能的问题,我希望有人可以提供帮助。

背景:

下面的函数应该使用.getValues()将指定工作表的数据作为数组拉出,然后如果找到数据中的某个范围,则for循环应该将行号添加到数组“StoreRows”是空的。

我尝试在没有阵列的情况下执行此功能,但由于数据量庞大而无法提供足够的效率。

错误:

我开始收到错误“TypeError:无法读取属性”3“来自未定义。(第16行,文件”代码“)”为带有if语句的行。

我添加了消息框以验证数组值是否正确拉入并且函数可以正常工作。如果我删除了消息框,我再次收到错误。由于某种原因,在if语句中没有识别该数组。

请帮忙,我们将不胜感激!!

谢谢,

function Test()
{
  var SS = SpreadsheetApp.getActiveSpreadsheet();
  var Sheet = SS.getSheets()[0];
  var LastRow = Sheet.getLastRow();
  var Data = Sheet.getRange("A2" + ":" + "T" + LastRow).getValues();
  var ARow = 0;

  var StoreRows = new Array();
  var ArrayRow = 0;


  for(ARow = 0; ARow < LastRow; ARow++)
  {

    if(String(Data[ARow][3]) == "" && String(Data[ARow][4]) == "" && String(Data[ARow][5]) == "" && String(Data[ARow][6]) == "" && String(Data[ARow][7]) == "" && String(Data[ARow][8]) == "" && String(Data[ARow][9]) == "" && String(Data[ARow][10]) == "" && String(Data[ARow][11]) == ""
 && String(Data[ARow][12]) == "" && String(Data[ARow][13]) == "" && String(Data[ARow][14]) == "" && String(Data[ARow][15]) == "" && String(Data[ARow][16]) == "" && String(Data[ARow][17]) == "")
    {

      Browser.msgBox(ARow + 2 + " " + "Test");
      StoreRows[ArrayRow] = ARow + 2;
      ArrayRow++;

    }


  }

1 个答案:

答案 0 :(得分:2)

坚持

StoreRows[ArrayRow] = ARow + 2;
ArrayRow++;

尝试

StoreRows.push(ARow + 2);