在Google Scripts中定义数组

der*_*can 6 javascript arrays google-apps-script

我是一个javascript新手,并试图编写一个电子表格的脚本,将从中提取各种东西.马上,我无法定义spreasheet中的一系列名称.错误显示"丢失;在声明之前(第10行)"

function readRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  //var values = rows.getValues();

  var Names = sheet.getRange("A2:A7");
  var Name = new Array(6);
  var Name_cell = Names.getCell(1, 1);
  var Name[0] = Name_cell.getValue();  //  <-- Here's the issue
  var Name_cell = Names.getCell(2, 1);
  var Name[1] = Name_cell.getValue();
  var Name_cell = Names.getCell(3, 1);
  var Name[2] = Name_cell.getValue();
  var Name_cell = Names.getCell(4, 1);
  var Name[3] = Name_cell.getValue();
  var Name_cell = Names.getCell(5, 1);
  var Name[4] = Name_cell.getValue();
  var Name_cell = Names.getCell(6, 1);
  var Name[5] = Name_cell.getValue();

  // ...
}
Run Code Online (Sandbox Code Playgroud)

Kar*_*k T 8

试试这个

function readRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rows = sheet.getDataRange();
  var numRows = rows.getNumRows();
  //var values = rows.getValues();

  var Names = sheet.getRange("A2:A7");
  var Name = [
    Names.getCell(1, 1).getValue(),
    Names.getCell(2, 1).getValue(),
    .....
    Names.getCell(5, 1).getValue()]
Run Code Online (Sandbox Code Playgroud)

您可以简单地按如下方式定义数组,而不是分配然后分配.

var arr = [1,2,3,5]
Run Code Online (Sandbox Code Playgroud)

您的初始错误是由于以下行,以及类似的行

var Name[0] = Name_cell.getValue(); 
Run Code Online (Sandbox Code Playgroud)

由于Name已经定义了并且您要将值分配给它的元素,因此您应该跳过var,只需

Name[0] = Name_cell.getValue();
Run Code Online (Sandbox Code Playgroud)

专业提示:对于大多数问题,像这一个,不直接涉及谷歌服务,你最好谷歌搜索一般在javascript中的方式.

  • 谢谢!我试过谷歌搜索,但显然我没有使用正确的关键字 (2认同)