【发布时间】:2023-04-02 20:36:01
【问题描述】:
在 Google App Script 中编写一个简单的网站
在谷歌表格中有一个电子表格 - 2 列 - 第一个有名词和第二个描述性词
有些事情是这样的:
第 1 列 - 第 2 列
桌子 - 木头
球 - 塑料
椅子 - 金属蓝色
我的代码在第 2 列中搜索关键字并从第 1 列返回匹配项。当第 2 列中有一个单词时它工作正常,但当有更多单词时就不行了......所以搜索“wood”返回 table,搜索“plastic”返回 ball,但搜索“metal”返回任何内容,“blue”相同
任何想法如何解决这个问题?
function FilterResults(keyword){
//connect with spreadsheet
var ss = SpreadsheetApp.openByUrl(url);
var ws = ss.getSheetByName("sheet1");
var sheetData = ws.getRange(1,1,ws.getRange("A1").getDataRegion().getLastRow(),5).getValues();
//create arrays of values from cells in each column
var Column1List = sheetData.map(function(r){return r[0]; });
var Column2List = sheetData.map(function(r){return r[1]; });
//make sure search tags are in string format
var x = keyword.toString();
//find 1st row(position) that has tag in it
var position = Column2List.indexOf(x);
if (position > -1){
//if the search found a match return cell content according to row number
return Column1List[position];
}else{
return "unavailable";
}
【问题讨论】:
-
如果有两个或多个关键字,您的
Column2List是什么样的?你试过控制台记录吗? -
它只包含由空格分隔的单词...数组的日志返回“木头、塑料、金属蓝色等...”
标签: javascript google-apps-script indexof