检查变量并将它们添加到逗号分隔列表中

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(',');

我喜欢使用数组来解决这类问题,因为您不必担心是否将逗号附加到结果字符串中。

【讨论】:

以上是关于检查变量并将它们添加到逗号分隔列表中的主要内容,如果未能解决你的问题,请参考以下文章

获取选择值列表作为隐藏字段中分隔的管道并提交

用逗号格式化数字以在 Python 中分隔千位

提取并显示从 PHP 中的文本文件中分隔的所有 10 位数字逗号

在一行中分配多个用逗号分隔的变量。 C#

如何在cfmail中分隔多个电子邮件地址

需要使用 regexp_replace (Postgresql) 将逗号添加到数字列表中