我在Javascript中遇到indexOf的问题。当使用电子表格中的.getValues()获取字符串时,似乎IndexOf无法找到字符串。
例如,以下功能正常。
function Narek() {
var array = ["Armine", "Narek", "Suren"]
var ggg = array.indexOf("Armine");
}
但是这个从googlesheets获得相同名称的函数返回-1。
function Narek() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("HL rota");
var array = ss.getRange(45,1,3,1).getValues();
var pickedHLM = ss.getRange(49,1,1,1).getValue();
var ggg = array.indexOf(pickedHLM);
Logger.log(pickedHLM)
Logger.log(ggg);
}
任何人都可以提供帮助吗?
答案 0 :(得分:0)
当 Range#getValue()返回左上角的单元格内容(在本例中是A49中的值)时, #getValues()会返回一个二维数组整个范围的细胞含量(即A45:A47)。每个内部数组都包含行的值。
所以或许更类似于:
var values = [["Armine"], ["Narek"], ["Suren"]];
这可以转化为您对扁平阵列的期望。
var array = values.map(function(row) { return row[0]; });
// ["Armine", "Narek", "Suren"]