Javascript 将备选值组合在一个数组中

Javascript 将备选值组合在一个数组中,javascript,Javascript,这是我的网址: 我使用以下脚本获取查询字符串: var arr=[]; arr = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 这给了我下面的输出 ["Field1=A", "Value1=A1", "Field2=B", "Value2=B1"] 但我希望将结果作为键值对,如下所示: A: A1 B: B1 我该怎么做呢?假设字段和值的顺序相同,字段和值总是成对存在 试

这是我的网址:

我使用以下脚本获取查询字符串:

var arr=[];
arr = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
这给了我下面的输出

["Field1=A", "Value1=A1", "Field2=B", "Value2=B1"]
但我希望将结果作为键值对,如下所示:

A: A1
B: B1

我该怎么做呢?

假设字段和值的顺序相同,字段和值总是成对存在

试着跟随

var obj = {};

for (var i = 0; i < arr.length; i=i+2) {

    obj[arr[i].split("=")[1]] = arr[i+1].split("=")[1];

}

console.log(obj);
var obj={};
对于(变量i=0;i
尝试使用
String.prototype.match()
RegExp
/\w+(?=&&|$)/g匹配后跟
“&”
或输入字符串结尾的单词字符,而
循环,
数组.prototype.shift()

var-arr=”https://www.google.com/?Field1=A&Value1=A1&Field2=B&Value2=B1"
.match(/\w+(?=&|$)/g)
,res={};
while(arr.length){
res[arr.shift()]=arr.shift()
}
console.log(res)
尝试以下功能:

function getUrlParams(url) {
    var ret = {};

    url
    .slice(url.indexOf('?') + 1)
    .split('&')
    .forEach(function(str){
        str = str.split('=');
        ret[str[0]] = str[1];
    });
    return ret;
}
按如下方式使用:

var urlParams = getUrlParams(window.location.href);
具有URL:

urlparms
应等于:

{
    "Field1" : "A",
    "Value1" : "A1",
    "Field2" : "B",
    "Value2" : "B1"
}

URL参数的顺序是否总是正确的,或者是否需要解析以获取索引?
window.location.search
@ZorroLearner”希望将结果作为键值对,如下所示:“作为数组中的字符串项;还是对象键、值对?@ZorroLearner-很乐意帮助您