无法调用未定义的方法“ indexOf”-Google App脚本

时间:2019-09-03 16:05:45

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

一周前我已经开始使用Javascript,但我陷入了绝望。我有这个非常简单的代码(理想情况下,当我调用它时,它会执行以下操作:= findAudience(A1)->如果在单元格A1中,您找到了受众群体名称,请在该单元格中将其返回)(“维度标签页的第1行的列表,第1列)

下面的代码:

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”)

希望这对您来说比对我来说更有意义...

感谢先睹为快,

1 个答案:

答案 0 :(得分:0)

您传入函数的参数adSet未定义。

您可以通过在函数的早期检查参数来防止此错误:

function findAudience(adSet){
    if(adset === null) return false; // however you want to handle that
    // ...
}