检查变量并将它们添加到逗号分隔列表中
Posted
技术标签:
【中文标题】检查变量并将它们添加到逗号分隔列表中【英文标题】:Check variables and add them to comma separated list 【发布时间】:2015-03-04 09:24:33 【问题描述】:我有 4 个 javascript 变量:
a = 'first';
b = 'second';
c = 'third';
d = 'fourth';
我想要实现的是让它们用逗号分隔,但是。有时可能会出现某些变量可能为空的情况。下面是一些例子:
示例 1:
a = 'first';
b = '';
c = 'third';
d = '';
输出应该是:第一,第三
示例 2:
a = '';
b = 'second';
c = '';
d = 'fourth';
输出应该是:第二,第四
也许有人可以帮我解决这个问题?
谢谢
【问题讨论】:
【参考方案1】:如图所示使用.filter()
:-
a = '';
b = 'second';
c = '';
d = 'fourth';
var arr=[];
arr.push(a)
arr.push(b)
arr.push(c)
arr.push(d)
var newarr = arr.filter(function(value)
return $.trim(value) != '' && value != null;
);
newarr = newarr.join(',');
alert(newarr);
Working Demo
【讨论】:
感谢您的解决方案。但是我得到了类似,第二,第四。奇怪的。然而,下一条评论解决了这个问题。再次感谢。 @MIC ..这是不可能的,你也可以检查小提琴..它会像魅力一样工作..其他地方一定有问题......也许是空格......我已经更新了答案使用$.trim()
你可以试试。
是的,我看到小提琴工作正常。抱歉,我想我忘了说这可能是我这边的问题,因为它是肯定的。【参考方案2】:
更简单的解决方案(但不一定更有效)是:
var arr = [];
if (a)
arr.push(a);
if (b)
arr.push(b);
if (c)
arr.push(c);
if (d)
arr.push(d);
var commaSeparated = arr.join(',');
我喜欢使用数组来解决这类问题,因为您不必担心是否将逗号附加到结果字符串中。
【讨论】:
以上是关于检查变量并将它们添加到逗号分隔列表中的主要内容,如果未能解决你的问题,请参考以下文章