Javascript jQuery-仅当有值时才添加逗号

Javascript jQuery-仅当有值时才添加逗号,javascript,jquery,Javascript,Jquery,我不知道最好的方法是什么,但是我有一系列的值被输入到我的jquery插件中。我遵循在每个值后面添加空格的惯例。然后,我获取jquery参数,并尝试向每个参数添加一个,',以便可以将其馈送到json调用中。问题是,如果我添加了一个“”,“来代替空格,并且插件中变量返回的值为空,那么我会得到多个不需要的逗号。(即,播客)。如果变量中有值,我如何只添加逗号 $(document).ready(function () { $('#gallery').mediaFilters({ m

我不知道最好的方法是什么,但是我有一系列的值被输入到我的jquery插件中。我遵循在每个值后面添加空格的惯例。然后,我获取jquery参数,并尝试向每个参数添加一个,',以便可以将其馈送到json调用中。问题是,如果我添加了一个“”,“来代替空格,并且插件中变量返回的值为空,那么我会得到多个不需要的逗号。(即,播客)。如果变量中有值,我如何只添加逗号

$(document).ready(function () {
   $('#gallery').mediaFilters({
        mediaType: '${article} ${podcast} ${image}',
        headerType: '${internet} ${cloud} ${background}',
    });
});
要发送到JSON的JQUERY:

var mediaType = "&mediaType=" + opts.mediaType.split(/[ ]/).join(',');
var headerType = "&headerType=" + opts.headerType.split(/[ ]/).join(',');

正则表达式
/+/
将匹配多个空格,因此输入
ab
将变成
a,b

正则表达式将匹配字符串开头和结尾的空格

下面的代码将用逗号替换这些字符,并删除开头和结尾空格

var mediaType = "&mediaType=" + opts.mediaType.replace(/^ *| *$/g,'').replace(/ +/g,',');
var headerType = "&headerType=" + opts.headerType.replace(/^ *| *$/g,'').replace(/ +/g,',');

编辑:在
之前使用
。替换(/\s+/,“”)
。拆分
并抑制多个空值。一旦得到最后一个字符串“,”podcast“,您可以运行字符串查询来删除连续出现的任何逗号吗?如果字符串的开头和结尾有逗号,也可以删除它们吗?最后一个字符串应该是你想要的…啊,很好的解决方案@Brad