有没有更优雅的方式来写这个If/or条件



我有一个if/or语句,用于检查邮件"收件人"、"抄送"one_answers"密件抄送"字段是否存在两封电子邮件中的一封。事实上,我的陈述很有效。但我想知道是否有一种更紧凑/优雅的方式来写它:

var message = GmailApp.getMessageById(id);
var to = message.getTo();
var cc = message.getCc();
var bcc = message.getBcc();
if ((to.indexOf("EMAIL1")>-1)||(to.indexOf("EMAIL2")>-1)||(cc.indexOf("EMAIL1")>-1)||(cc.indexOf("EMAIL2")>-1)||(bcc.indexOf("EMAIL1")>-1)||(bcc.indexOf("EMAIL2")>-1)){  Logger.log("do some stuff")}

使用Array.some和String.includes:

if (
[to, cc, bcc].some(field =>
['EMAIL1', 'EMAIL2'].some(email => field.includes(email))
)
) {
Logger.log("stuff")
}
var message = GmailApp.getMessageById(id);
var to = message.getTo();
var cc = message.getCc();
var bcc = message.getBcc();
if (to.indexOf("EMAIL1")>-1||to.indexOf("EMAIL2")>-1||cc.indexOf("EMAIL1")>-1|| cc.indexOf("EMAIL2")>-1||bcc.indexOf("EMAIL1")>-1||bcc.indexOf("EMAIL2")>-1)
{  
Logger.log("do some stuff");
}

你也可以尝试使用阵列

最新更新