如何在Apps脚本中避免mailApp的空值?

时间:2016-05-06 18:34:49

标签: google-apps-script google-sheets

我正在尝试使用Google表格中的Google Apps脚本向我办公室中的一群人发送自动发送的电子邮件。我们构建它并且工作正常,但现在我们必须为每个电子邮件添加另一个收件人作为CC。这不是一个大问题,但我无法弄清楚如何忽略空值(并非所有人都有CC的第二个人)。这是我的脚本,我可能只是错误地嵌套if语句?

  for (var i = 0; i <= numRows - 1; i++) {
var priorityValues = priority[i][0];
var autostatValues = autostat[i][0];
if(priorityValues == 'P0' && autostatValues != 'Launched') {
  // if it's P0, do something with the data.
  var emailFinal = email[i][0] + '@company.com';
  var ttFinal = tt[i][0] + '@company.com';
  var bugFinal = bugNumber[i][0];
  var sumFinal = sumtotal[i][0];
  var subject = 'Please update your info';
  var msg = 

  '<html><body>message is here
  </body></html>'
    ;


   if(tt[i][0] !== null) {  
    MailApp.sendEmail(emailFinal, subject, "", {htmlBody: msg, noReply:true, cc: ttFinal})}
  else {
    MailApp.sendEmail(emailFinal, subject, "", {htmlBody: msg, noReply:true})}

        }

}

1 个答案:

答案 0 :(得分:0)

JavaScript中缺少(未分配)值不为空,它们未定义。对于未定义的值,tt[i][0] !== null返回true。见What is the difference between null and undefined in JavaScript?

解决方案:使用if (tt[i][0] !== null)代替if (!tt[i][0])

该代码也适用于if (tt[i][0] != null)if (tt[i][0] !== undefined)

但是!==是对严格比较===的否定,它关注undefined和null之间的区别。