0

我想知道为什么 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
4

1 回答 1

-1

ssEmail正如你所看到的,如果有一个像我发布的那样的数组,一切都工作得很好。检查你的ssEmail和其他的应该没问题..

在此处输入图像描述

于 2021-03-03T11:43:21.730 回答