javascript - 查找字符串的索引
问题描述
我试图在特定列中找到与我传递的相同数据的单元格行,它应该是一个字符串。已经尝试在nomeVenditoregetDysplayValue
的定义中使用,它不起作用。我不知道错误是什么,方法 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
解决方案
检查是否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);
我使用模板文字进行比较以使代码更小:
var rigaVenditore = index==-1?5:index+5;