我正在尝试形成一个变量。
如果它不是 null
或空或 undefined
,我不想向其附加 @
符号:
var T1 = 'Popcorn'
var T2 = 'Icecreams'
var T3 = '';
var T4 = '';
if(T1!=''||T2!=''||T3!=''||T4!='')
reqstr = T1+'@'+T2+'@'+T3+'@'+T4;
alert(reqstr);
现在的输出是:
Popcorn@Icecreams@@
如果变量为空,我不想附加 @
,这意味着我只需要:
Popcorn@Icecreams
Fiddle .
最佳答案
不是最清楚的问题。;试试这个:
[T1,T2,T3,T4].filter(Boolean).join('@');
如果你想在变量中允许使用数字,你需要做更多的工作:
[T1,T2,T3,T4].filter(function(x){
return typeof x === 'number' || x;
}).join('@');
并允许数字,但过滤掉 NaN
:
[T1,T2,T3,T4].filter(function(x){
return x === 0 || x;
}).join('@');
等等,取决于规范。
关于javascript - 使用分隔符连接字符串,忽略空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26586082/