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]也是小写的呢?
您可以通过检查小写字母项来遍历这些值,
for (var row in values)
{
if(values[row][0].toString().toLowerCase() !== data )
{
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
这是values[row]一个数组,小写是什么意思?
因此,首先我相信,使用您使用的符号,.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应该能达到你想要的效果。