findIndex 字符串

时间:2021-01-29 13:40:17

标签: javascript google-apps-script google-sheets

我试图在特定列中查找包含我传递的相同数据的单元格的行,它应该是一个字符串。已经尝试在 nomeVenditore 的定义中使用 getDysplayValue,它不起作用。我不知道错误是关于什么的,方法 findIndex 中的参数用红色下划线表示。

var nomeVenditore = scadenziario.getRange(eRow,13).getValue();
var colonnaVenditore = 8 //for example

var arrayVenditori = pnl.getRange(5,colonnaVenditore,5,1).getValues();
var rigaVenditore = arrayVenditori.join().split(",").findIndex(nomeVenditore)+5;

pnl.getRange(1,1).setValue(rigaVenditore);

它总是返回 -1 + 5 = 4

1 个答案:

答案 0 :(得分:1)

检查 findIndex 是否返回 -1。如果是,则从第 5 行开始,否则从 index+5 开始:

  var nomeVenditore = scadenziario.getRange(eRow,13).getValue();
  var colonnaVenditore = 8 //for example
  var arrayVenditori = pnl.getRange(5,colonnaVenditore,5,1).getValues();
  var index = arrayVenditori.join().split(",").findIndex(c=>c==nomeVenditore);
  var rigaVenditore = index == -1 ? 5 : index + 5;
  pnl.getRange(1,1).setValue(rigaVenditore);

我使用 template literals 进行比较以缩小代码:

var rigaVenditore = index==-1?5:index+5;