jQuery - 仅在存在值时添加逗号

时间:2014-05-21 20:47:09

标签: javascript jquery

我无法弄清楚这样做的最佳方法,但我有一系列值被输入到我的jquery插件中。我遵循在每个值之后添加空格的约定。然后我抓住jquery参数并尝试向每个参数添加',',以便可以将其输入到json调用中。问题是,如果我添加一个','代替空格,并且插件中变量返回的值为空,我会得到多个我不需要的逗号。 (即播客)。如果我的变量中有值,我怎么才会添加逗号?

$(document).ready(function () {
   $('#gallery').mediaFilters({
        mediaType: '${article} ${podcast} ${image}',
        headerType: '${internet} ${cloud} ${background}',
    });
});

JQUERY发送​​给JSON:

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

1 个答案:

答案 0 :(得分:1)

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

正则表达式/^ *| *$/将匹配字符串开头和结尾的空格。

这里的代码将替换那些带逗号的代码,并删除起始和结束空格。

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