从 JavaScript 数组中删除逗号

Dor*_*eka 1 javascript

大家好,我正在用 javascript 中的查询字符串构建一个 url,如下所示,一切正常,但查询字符串之间有一个通讯,所以有人可以帮助我吗

<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>
Run Code Online (Sandbox Code Playgroud)

这给了我如下的查询字符串Sample.aspx?Q1=1,&,Q2=1我需要这样`Sample.aspx?Q1=1&Q2=1

Den*_*ret 5

要从字符串中删除逗号,您可以简单地执行以下操作

s = s.replace(/,/g,'');
Run Code Online (Sandbox Code Playgroud)

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

location.href = '/Sample.aspx?' + arr;
Run Code Online (Sandbox Code Playgroud)

location.href = '/Sample.aspx?' + arr.join('');
Run Code Online (Sandbox Code Playgroud)

发生的情况是,将数组添加到toString字符串中会调用该数组,并且该函数会添加逗号:

""+["a","b"] 给出"a,b"