在javascript中将url拆分为选项卡

在javascript中将url拆分为选项卡,javascript,Javascript,输入: javascript: 我的js代码的输出: 我想将我的url拆分成一个带有key:value的映射,如下所示 输出: 我的代码在输出中不完全符合我的要求,有什么问题吗?您应该使用 var params = parmeters.split('&') 然后分割得到的所有值 for (var i = 0,len = params.length; i<len;i++){ var data = params[i].split("=", 2); // Max 2 elem

输入:

javascript:

我的js代码的输出:

我想将我的url拆分成一个带有key:value的映射,如下所示

输出:

我的代码在输出中不完全符合我的要求,有什么问题吗?

您应该使用

var params = parmeters.split('&')
然后分割得到的所有值

for (var i = 0,len = params.length; i<len;i++){
    var data = params[i].split("=", 2);  // Max 2 elements

    var key = data[0];
    var value = data[1];
    ...
}
对于(var i=0,len=params.length;i您应该使用

var params = parmeters.split('&')
然后分割得到的所有值

for (var i = 0,len = params.length; i<len;i++){
    var data = params[i].split("=", 2);  // Max 2 elements

    var key = data[0];
    var value = data[1];
    ...
}

for(var i=0,len=params.length;i我认为您的字符是错误的

var params = {};
var paramDelim = link.indexOf('?');
var parmeters = link.substring(paramDelim + 1, link.length);
/*--> i think used regexp. Clear ' Char. --> */var parts = parmeters.split(/[&=]/);
用这个像


祝你好运

我认为你的角色错了

var params = {};
var paramDelim = link.indexOf('?');
var parmeters = link.substring(paramDelim + 1, link.length);
/*--> i think used regexp. Clear ' Char. --> */var parts = parmeters.split(/[&=]/);
用这个像


祝您好运

使用ECMA5方法并假设您的字符串始终是相同模式的可能解决方案

var src='/desh/HRTY/THR/TDR/2015-01-09?乘客=标准:1&返回日期=2015-01-10&最大值=0&THAC=假',
切片=src.split(/[\/|?|和]/)。切片(3),
数据=切片.reduce(函数(输出,项){
var split=item.split('=');
输出[split.shift()]=split.shift();
返回输出;
}, {
原点:slice.shift(),
目标:slice.shift(),
goDate:slice.shift()
});

document.body.appendChild(document.createTextNode(JSON.stringify(data));
一种可能的解决方案,使用ECMA5方法并假设字符串始终是相同的模式

var src='/desh/HRTY/THR/TDR/2015-01-09?乘客=标准:1&返回日期=2015-01-10&最大值=0&THAC=假',
切片=src.split(/[\/|?|和]/)。切片(3),
数据=切片.reduce(函数(输出,项){
var split=item.split('=');
输出[split.shift()]=split.shift();
返回输出;
}, {
原点:slice.shift(),
目标:slice.shift(),
goDate:slice.shift()
});

document.body.appendChild(document.createTextNode(JSON.stringify(data));
在拆分中找不到“[&=]”,因此这是预期的行为您使用包含4个字符的字符串作为分隔符进行拆分。因为输入不包含
[&=]
您得到的结果只有一个大字符串。请尝试将其放入正则表达式中,如
…split(/[&=]/)
。这是对您的问题的一个很好的解释。在split上找不到“[&=]”,因此这是预期的行为您使用的字符串包含4个字符
[&=]
作为分隔符进行拆分。由于输入不包含
[&=]
结果只有一个大字符串。请尝试将其放入正则表达式中,如
…split(/[&=]/)
。这是对您的问题的一个很好的解释。
var params = {};
var paramDelim = link.indexOf('?');
var parmeters = link.substring(paramDelim + 1, link.length);
/*--> i think used regexp. Clear ' Char. --> */var parts = parmeters.split(/[&=]/);