Javascript 中的 indexOf 问题

Issues with indexOf in Javascript

我在 Javascript 中遇到 indexOf 问题。当使用电子表格中的 .getValues() 获取字符串时,IndexOf 似乎找不到字符串。

例如,下面的函数工作正常。

function Narek() {

var array = ["Armine", "Narek", "Suren"]

var ggg = array.indexOf("Armine");

} 

但是这个函数,它从 googlesheets returns -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);
}

有人可以帮忙吗?

虽然 Range#getValue() returns top-left 单元格内容(在本例中为 A49 内的值),# getValues() returns 整个范围的单元格内容的 two-dimensional 数组(即 A45:A47)。每个内部数组都包含该行的值。

所以也许更类似于:

var values = [["Armine"], ["Narek"], ["Suren"]];

这可以转化为你对平面阵列的期望。

var array = values.map(function(row) { return row[0]; });
// ["Armine", "Narek", "Suren"]