我想形成一个变量.
如果它不是null或为空或undefined我不想将@符号附加到它:
var T1 = 'Popcorn'
var T2 = 'Icecreams'
var T3 = '';
var T4 = '';
if(T1!=''||T2!=''||T3!=''||T4!='')
reqstr = T1+'@'+T2+'@'+T3+'@'+T4;
alert(reqstr);
Run Code Online (Sandbox Code Playgroud)
现在输出是:
爆米花@冰淇淋@@
如果变量为空,我不想追加@,这意味着我只需要:
爆米花@冰淇淋
小提琴.
不是最清楚的问题.试试这个:
[T1,T2,T3,T4].filter(Boolean).join('@');
Run Code Online (Sandbox Code Playgroud)
如果你想在你的变量中允许数字,你需要做更多的工作:
[T1,T2,T3,T4].filter(function(x){
return typeof x === 'number' || x;
}).join('@');
Run Code Online (Sandbox Code Playgroud)
并允许数字,但过滤掉NaN:
[T1,T2,T3,T4].filter(function(x){
return x === 0 || x;
}).join('@');
Run Code Online (Sandbox Code Playgroud)
等等,取决于规格.