【问题标题】: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';

输出应该是:第二,第四

也许有人可以帮我解决这个问题?

谢谢

【问题讨论】:

    标签: jquery list comma


    【解决方案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(',');
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      • 2022-11-30
      • 1970-01-01
      相关资源
      最近更新 更多