我之前从未使用过javascript,只需要一些帮助。我有这个:
trait Option[+A] { def get: A }
但是我需要修改它来说明vars.smsmessage是否包含字符串" http:"然后压制vars.devUrl
我已经提出了下面的内容,if if in a work?
if (vars.devUrl != '')
{
vars.smsmessage = vars.smsmessage + "\n\n" + vars.devUrl + "\n\n" + vars.optOut;
}
else
{
vars.smsmessage = vars.smsmessage + "\n\n" + vars.optOut;
}
delivery.smsParameters.smsContent = vars.smsmessage;
另外应该补充一点,在我上线之前我无法测试这个,因此请求
答案 0 :(得分:2)
非常接近,但else
位于if
块之外,您需要在Javascript中使用indexOf
来检查一个字符串是否包含另一个字符串,如下所示:
if (vars.devUrl) {
if (vars.smsmessage.indexOf('http:') > -1) {
vars.smsmessage = vars.smsmessage + '\n\n' + vars.optOut;
}
else {
vars.smsmessage = vars.smsmessage + '\n\n' + vars.devUrl + '\n\n' + vars.optOut;
}
}
else {
vars.smsmessage = vars.smsmessage + '\n\n' + vars.optOut;
}
delivery.smsParameters.smsContent = vars.smsmessage;
然而,你可以使用像这样的ternary conditional使眼睛更容易:
var url = vars.smsmessage.indexOf('http:') > -1 ? vars.devUrl + '\n\n' : '';
vars.smsmessage += '\n\n' + url + vars.optout;
delivery.smsParameters.smsContent = vars.smsmessage;
答案 1 :(得分:0)
如果我没有弄错的话,对于这个特定的请求,您的初始代码不需要额外的if
,只是一个额外的条件:
if (vars.devUrl != '' && vars.devUrl.indexOf('http:') < 0)
{
vars.smsmessage = vars.smsmessage + "\n\n" + vars.devUrl + "\n\n" + vars.optOut;
}
else
{
vars.smsmessage = vars.smsmessage + "\n\n" + vars.optOut;
}
delivery.smsParameters.smsContent = vars.smsmessage;
因此;基本上,只有当它不为空并且它不包含“http:”时才使用vars.devUrl