javascript - 使用分隔符连接字符串,忽略空字符串

标签 javascript

我正在尝试形成一个变量。

如果它不是 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/

相关文章:

javascript - 是否可以确定服务器是否调用了 Meteor 方法

javascript - 删除 HTML 元素时销毁钩子(Hook)

javascript - 如何将子集合添加到 Firestore 中的文档?

javascript - 单击按钮时删除单选按钮选择

javascript - 初始化后向 SVG 线添加箭头

javascript - 可以在 TypeScript 中的元组上使用 Array.prototype.map(),同时在返回类型中保留元组长度吗?

javascript - d3 拖动事件在 Firefox 中不会终止

javascript - Sencha ExtJs 为什么从 `this` 方法返回 `constructor`?

javascript - PHP根据php结果显示html字段

javascript - Ajax 请求正在取消页面上的其他 JS 事件