从javascript数组中删除逗号

时间:2013-11-22 09:04:59

标签: javascript

大家好我正在使用javascript中的查询字符串构建一个url,如下所示,每个东西都可以正常工作但是查询字符串之间会有一个comm,所以有人可以帮助我

<script type="text/javascript">
    function RedirectLocation() {
        var cntrl = "Q1;Q2";
        var str_array = cntrl.split(';');
        var cnt = str_array.length;
        if (cnt == 0) {
            location.href = '/callBack.aspx';
        }
        else {
            var arr = [];
            for (var i = 0; i < str_array.length; i++) {
                str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
                arr.push(str_array[i] + '=1');
                if (i != str_array.length - 1) {
                    arr.push('&');
                }
            }
            location.href = '/Sample.aspx?' + arr;
        }
    }
</script>

这给了我一个查询字符串,如下所示Sample.aspx?Q1=1,&,Q2=1我需要它像`Sample.aspx?Q1=1&Q2=1

3 个答案:

答案 0 :(得分:4)

不要依赖隐式字符串转换(将数组元素与逗号连接为分隔符),使用&明确.join数组元素:

var arr = [];
for (var i = 0; i < str_array.length; i++) {
    str_array[i] = str_array[i].replace(/^\s*/, "").replace(/\s*$/, "");
    arr.push(str_array[i] + '=1');
}
location.href = '/Sample.aspx?' + arr.join('&');

这样想:您有一组name=value条目,您希望用&分隔。

答案 1 :(得分:3)

要从字符串中删除逗号,您只需执行

s = s.replace(/,/g,'');

但在您的具体情况下,您想要的不是添加逗号。变化

location.href = '/Sample.aspx?' + arr;

location.href = '/Sample.aspx?' + arr.join('');

在字符串中添加一个数组会调用该数组上的toString并且该函数会添加逗号:

""+["a","b"]提供"a,b"

答案 2 :(得分:0)

您可以使用arr.join(glue)将Array元素与其间的内容连接起来。在你的情况下,胶水将是一个空字符串arr.join("")