2016-01-18 21 views
3

我正在写一个谷歌应用程序脚本,我从电子表格中获取值..但由于我需要查看是否存在与变量匹配的内容,因此我需要确保值是小写的。从Google Apps脚本获取小写字母GetValues

var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var column = sheet.getRange(A:A); 
    var values = column.getValues(); 

然后我要通过的值循环,以查看是否存在匹配,像这样: 行= 0;

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

    // do something 
    row ++; 
    } 

我的问题是this..while我可以确保变量“数据”是小写的,我怎么能保证值[行]和值[行] [0]也小写?

回答

1

所以首先我相信,随着你使用.getRange会采取像"A:A"一个字符串作为参数返回一个包含A列中的所有值

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

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

  • values[row][0]将返回单元格中的值。您可以强制值的字符串(以确保它总是一个字符串)用一个空字符串(values[row][0]+"")串联,然后您可以将常用的内置JS toLowerCase()方法,像这样:(values[row][0]+"").toLowerCase();

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

3

您可以循环通过与检查小写项目中的值,

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

这是values[row]一个数组,你怎么通过它的小写是什么意思?

+0

伟大..这些应该工作....谢谢 – Allen

相关问题