从Google Apps脚本获取小写形式的GetValues

All*_*len 6 google-apps-script

我正在写一个google apps脚本,我从电子表格中获取值。但是由于我需要查看变量是否匹配,因此我需要确保这些值均小写。

  var sheet  = SpreadsheetApp.getActiveSpreadsheet();
  var column = sheet.getRange(A:A); 
  var values = column.getValues(); 
Run Code Online (Sandbox Code Playgroud)

然后我想遍历这些值以查看是否存在匹配项,例如:row = 0;

  while ( values[row] && values[row][0] !== data ) {

     // do something
    row ++;
  }
Run Code Online (Sandbox Code Playgroud)

我的问题是..虽然我可以确保变量“ data”是小写的,但如何确定values [row]和values [row] [0]也是小写的呢?

iJa*_*Jay 6

您可以通过检查小写字母项来遍历这些值,

for (var row in values)
{
    if(values[row][0].toString().toLowerCase() !== data ) 
    {
         // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

这是values[row]一个数组,小写是什么意思?


css*_*sek 1

因此,首先我相信,使用您使用的符号,.getRange将采用一个字符串作为"A:A"参数,以返回包含 A 列中所有值的范围。

  • 使用Logger.log()typeof检查返回值的类型。 values将是一个二维数组,每个子数组包含每个单元格的值。

  • values[row]将返回一个数组,表示索引为 的单元格row。数组显然不能是小写。

  • values[row][0]将返回单元格中的值。您可以通过将值与空 string 连接来将值强制转换为字符串(以确保它始终是字符串)(values[row][0]+""),然后您可以应用常用的内置 JS toLowerCase()方法,如下所示:(values[row][0]+"").toLowerCase();

  • 所以 (values[row][0]+"").toLowerCase() !== data应该能达到你想要的效果。