我想知道为什么 indexOf 不起作用(Google 脚本)。例如 indexOf 为 ffreak@gmx.at 发送 -1,它存储在变量 email 中。我用 indeOf("ffreak@gmx.at") (没有变量)进行了测试,它运行正常!看起来,变量内部的值被妥协了。知道如何找出问题吗?提前致谢!
function getGutscheinCode(email) {
// Hier die Logik zum prüfen der Email einbauen
Logger.log("getGutscheinCode: >" + email + "<"); // see log below
var ss = SpreadsheetApp.openByUrl(url);
var ws = ss.getSheetByName("data");
var ssEmail = ws.getRange(1,1,ws.getLastRow(),8).getValues();
var emailList = ssEmail.map(function (r){ return r[0]; }); // Email
var codList = ssEmail.map(function (r){ return r[4]; }); // Gutscheincode
var gutList = ssEmail.map(function (r){ return r[7]; }); // Gutscheincode eingelöst
ssEmail.map(function (r){ Logger.log(">"+ r[0] + "<") }); // see log below
var position = emailList.indexOf(email); // Seeking for the email
Logger.log(position);
if (position === -1) {
return 0; // Email nicht gefunden, kein Code vorhanden
} else{
if (gutList[position] == "Ja") { // Email vorhanden aber Gutschein bereits eingelöst
return 0;
} else {
return codList[position]; // Email vorhanden und Gutschein nicht eingelöst
}
}
}
Logger.log:
03.03.2021, 12:00:43 Info getGutscheinCode: >ffreak@gmx.at<
03.03.2021, 12:00:43 Info >Email<
03.03.2021, 12:00:43 Info ><
03.03.2021, 12:00:43 Info >ff@gmx.at<
03.03.2021, 12:00:43 Info >ffreak@gmx.at<
03.03.2021, 12:00:43 Info -1.0