2016-01-18 54 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

相關問題