【发布时间】:2019-09-03 16:05:45
【问题描述】:
我一周前开始使用 Javascript,但我陷入了困境和绝望。我有这个非常简单的代码(理想情况下,当我调用它时它会这样做:=findAudience(A1) -> 如果在单元格 A1 中,您找到了一个受众名称,请在单元格中返回它)(在 ' 中找到受众名称列表Dimension' 选项卡 row1、column1) 的列表
我的代码如下:
function findAudience(adSet){
var ss = SpreadsheetApp.getActive();
var listSheet = ss.getSheetByName("List of Dimensions");
var list = listSheet.getRange(1, 1, listSheet.getLastRow().getValues();
var adsetsAudiences = "" ;
for(j = 0; j < list.length; j++){
if(adSet.indexOf(list[j][0]) > -1 && list[j][0] != ""){
if(adsetsAudiences != ""){
adsetsAudiences = adsetsAudiences+", "+list[j][0]
}else{
adsetsAudiences = list[j][0]
}
}
}
return adsetsAudiences;
};
我得到的错误是:
TypeError:无法调用未定义的方法“indexOf”。 (第 10 行,文件“findAudience”)
希望这对你比对我更有意义......
提前感谢您的浏览,
【问题讨论】:
-
你是如何调用你的
findAudience()函数的?您是否传递了预期的参数adSet?当 JavaScript 谈到"undefined"时,它意味着某些东西有一个意想不到的价值,或者没有真正的价值。 -
在
if(adSet.indexOf(list[j][0])..之前显示console.log(adset)的输出 -
在我的 Gsheet 中,我将编写 =findAudience(adset) adsets are found in column A.
-
没有输出...当我记录它时:“没有找到日志。使用 Logger API 将日志添加到您的项目。”
-
A1 中有什么?
indexOf应该在数组上调用。 A1 是一个字符串,您不能直接从脚本编辑器运行该函数。从工作表中调用它
标签: javascript google-apps-script google-sheets custom-function