【发布时间】:2015-01-09 10:10:29
【问题描述】:
输入:
"/desh/HRTY/THR/TDR/2015-01-09?passengers=STANDARD:1&returnDate=2015-01-10&max=0&withThac=false"
javascript:
var params = {};
var paramDelim = link.indexOf('?');
var parmeters = link.substring(paramDelim + 1, link.length);
var parts = parmeters.split('[&=]');
我的 js 代码的输出:
0: "passengers=STANDARD:1&returnDate=2015-01-10&max=0&withThac=false"
length: 1
我想将我的 url 拆分成一个带有 key:value 的地图
输出:
origin:THR
destination:TDR
goDate:2015-01-09
passengers:STANDARD:1
returnDate:2015-01-10
max:0
withThac:false
我的代码在输出中不完全符合我的要求,出了什么问题?
【问题讨论】:
-
在拆分中找不到“[&=]”,因此这是预期的行为
-
您正在使用包含 4 个字符
[&=]的字符串作为分隔符进行拆分。由于输入不包含[&=],因此您只会得到一个大字符串作为结果。试着把它放在像...split(/[&=]/)这样的正则表达式中。这个stackoverflow.com/a/3560051/1389366 很好地解释了你的问题。
标签: javascript