从javascript数组中删除逗号

从javascript数组中删除逗号,javascript,Javascript,大家好,我正在用javascript构建一个带有查询字符串的url,如下所示:一切正常,但查询字符串之间有一个逗号,有人能帮我吗 <script type="text/javascript"> function RedirectLocation() { var cntrl = "Q1;Q2"; var str_array = cntrl.split(';'); var cnt = str_array.length;

大家好,我正在用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>

函数重定向位置(){
var cntrl=“Q1;Q2”;
var str_array=cntrl.split(“;”);
var cnt=str_array.length;
如果(cnt==0){
location.href='/callBack.aspx';
}
否则{
var-arr=[];
对于(var i=0;i

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

s = s.replace(/,/g,'');
但在您的特定情况下,您不希望添加逗号。改变

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

将数组添加到字符串会调用该数组上的
toString
,该函数会添加逗号:


“”+[“a”,“b”]
给出了
“a,b”

不依赖隐式字符串转换(以逗号作为分隔符连接数组元素),显式使用
&
表示数组元素:

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('&');
var arr=[];
对于(var i=0;i
请这样想:您有一组
name=value
条目,您希望它们之间用
&
分隔。您可以使用
arr.join(glue)
将数组元素与它们之间的某个元素连接起来。在您的情况下,glue将是一个空字符串
arr.join(“”

+1我没有检查您的代码(我非常信任您),但在数组中按“&”并不是最好的解决方案。
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('&');