Javascript Google Sheets Ap脚本索引
我尝试使用IndexOf,当值在数组中时,它会不断返回-1(不匹配)。我是新手,所以我不知道为什么它不起作用。我的最终目标是返回匹配数据的第一个实例的行号Javascript Google Sheets Ap脚本索引,javascript,arrays,multidimensional-array,google-apps-script,google-sheets,Javascript,Arrays,Multidimensional Array,Google Apps Script,Google Sheets,我尝试使用IndexOf,当值在数组中时,它会不断返回-1(不匹配)。我是新手,所以我不知道为什么它不起作用。我的最终目标是返回匹配数据的第一个实例的行号 var lookup_array = sales_sheet.getRange(1,1,3,1).getValues(); var index = lookup_array.indexOf(newsheet_name); lookup_array=[[account_manager]、[john doe]、[john doe]] 新闻纸名称
var lookup_array = sales_sheet.getRange(1,1,3,1).getValues();
var index = lookup_array.indexOf(newsheet_name);
lookup_array=[[account_manager]、[john doe]、[john doe]]
新闻纸名称=约翰·多伊
索引=-1
我希望值=1,因为john doe是数组中的第二个值。
getValues()
检索的值是二维数组。因此,为了使用indexOf()
,请修改如下。请把这看作是几个答案中的一个
在此修改中,二维数组通过map()
转换为一维数组,并使用indexOf()
修改脚本:
参考资料:
var newsheet_name = "john doe";
var lookup_array = sales_sheet.getRange(1,1,3,1).getValues(); // [["account_manager"], ["john doe"], ["john doe"]]
var res = lookup_array.map(function(e) {return e[0]}).indexOf(newsheet_name);
Logger.log(res) // 1