0
我正在使用Google腳本來擴展Google Spreadsheet。我試圖做一個函數,通過在函數中傳遞它的頭來確定給定列的索引。Array.indexOf()在將字符串作爲變量傳遞時未找到值?
function columnIndexForHeader(header) {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues()
var headers = data[0]
var index = data.indexOf(header) + 1
Logger.log("Looking for header "+header)
Logger.log("List of headers: "+headers)
Logger.log("Header 12: "+headers[12])
Logger.log("Index of History:"+headers.indexOf("History"))
Logger.log("Requested index for header "+header+" is "+ index)
return index
}
在上面的例子中,我尋找一個列標題叫歷史(在陣列中,因此索引12)在電子表格中當前的第13列。
當我打電話的功能我用如:
currentSheet.getRange(i+1, columnIndexForHeader("History")).setValue("New")
現在有了一個字符串搜索在頭指數(與記錄儀爲例)工作正常,但由於某些原因,它是不能夠。與變量(返回-1到的indexOf()搜索時找到頭的記錄會顯示以下內容:
[14-06-28 22:30:37:665 ICT] Looking for header History
[14-06-28 22:30:37:702 ICT] List of headers: ID,First-Last,Nick,Course,Section,Grade,Correspondence,Remarks,Attendence,Status,Program,Major,History,Nationality,LEP ID,Email (Stamford),Email (Private),Phone,
[14-06-28 22:30:37:703 ICT] Header 12:History
[14-06-28 22:30:37:703 ICT] Index of History:12
[14-06-28 22:30:37:703 ICT] Requested index for header History is 0
爲什麼沒能找到一個變量的頭部,而這似乎是成功的何時傳球?
你做'data.indexOf'而不是'headers.indexOf'。 – plalx
Doh! (我現在已經看了2小時,並沒有看到它):O感謝您藉助鷹的視力。 – Benjamin