我正在尝试使用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})}
}
}
答案 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之间的区别。