Javascript 使用switch case的Google表单通知脚本

Javascript 使用switch case的Google表单通知脚本,javascript,arrays,google-apps-script,multidimensional-array,Javascript,Arrays,Google Apps Script,Multidimensional Array,我正在编写一个谷歌表单通知脚本,根据谷歌表单中的文本发送电子邮件 当我使用if条件时,我的脚本会工作,但当我想使用(开关和大小写)时,它不会按预期工作 感谢和问候, 基督教徒 以下是我的Google应用程序测试脚本: function sendNotification() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getActiveSheet(); var valColonneM = sheet

我正在编写一个谷歌表单通知脚本,根据谷歌表单中的文本发送电子邮件

当我使用if条件时,我的脚本会工作,但当我想使用(开关和大小写)时,它不会按预期工作

感谢和问候, 基督教徒

以下是我的Google应用程序测试脚本:

function sendNotification() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var valColonneM = sheet.getRange("M1:M").getValues();
  var lignesColonneM = valColonneM.filter(String).length;
  var range = sheet.getRange(lignesColonneM, 13);
  var applicateur = range.getValues();

  var titre = "Titre ";
  var texte = "Bonjour, \nTexte";

switch (applicateur) {
  case "App1":
    var email = "email1@gmail.com";
    break
  case "App2":
    var email = "email2@gmail.com";
    break
  default:
    var email = "email3@gmail.com";
    break
  }

  MailApp.sendEmail (email,replyTo,titre,texte);
}
替换

var applicateur = range.getValues();

这是因为
getValues()
返回多维数组(
[[value]]
),而不是

相关的

更换

var applicateur = range.getValues();

这是因为
getValues()
返回多维数组(
[[value]]
),而不是

相关的


如果您像我一样指定了范围,您可能会发现不再需要过滤函数或映射函数

function sendNotification() {
  var ss=SpreadsheetApp.getActive();
  var sheet=ss.getActiveSheet();
  var lignesColonneM=sheet.getRange(1,13,sheet.getLastRow()).getValues().map(function(r){return r[0];}).filter(String).length;
  var range=sheet.getRange(lignesColonneM, 13);
  var applicateur=range.getValue();
  var titre="Titre ";
  var texte="Bonjour, \nTexte";  
  switch (applicateur) {
    case "App1":
      var email="email1@gmail.com";
      break
      case "App2":
      var email="email2@gmail.com";
      break
      default:
      var email="email3@gmail.com";
      break
  }  
  MailApp.sendEmail (email,replyTo,titre,texte);
}

如果像我一样指定范围,您可能会发现不再需要filter函数或map函数

function sendNotification() {
  var ss=SpreadsheetApp.getActive();
  var sheet=ss.getActiveSheet();
  var lignesColonneM=sheet.getRange(1,13,sheet.getLastRow()).getValues().map(function(r){return r[0];}).filter(String).length;
  var range=sheet.getRange(lignesColonneM, 13);
  var applicateur=range.getValue();
  var titre="Titre ";
  var texte="Bonjour, \nTexte";  
  switch (applicateur) {
    case "App1":
      var email="email1@gmail.com";
      break
      case "App2":
      var email="email2@gmail.com";
      break
      default:
      var email="email3@gmail.com";
      break
  }  
  MailApp.sendEmail (email,replyTo,titre,texte);
}
请结账请结账