var url = "http://taobao.com/shopping.html?a=1&a=4&b=2&a=8&c=&d=xxx&e";
function analyseUrl(url){
if(url.indexOf("1") != -1){
// 定义一个对象用于存储信息
var obj = {};
// 获取带有参数的部分
var str = url.substr(url.indexOf("?") + 1);
// 根据&进行首次分割,
var firstArr = str.split("&");
// 对数组进行遍历,对每一项根据进行=进行分割
for(var i = 0; i < firstArr.length; i++){
// 先判断是否存在=
if(firstArr[i].indexOf("=") != -1){
// 存在
// 为了防止相同的覆盖,进行判断
var secondArr = firstArr[i].split("=");
if(obj[secondArr[0]]){
// 已存在,判断是否是一个数组
if(Array.isArray(obj[secondArr[0]])){
obj[secondArr[0]].push(secondArr[1]);
}else{
var arrX = [obj[secondArr[0]]];
arrX.push(secondArr[1]);
obj[secondArr[0]] = arrX;
}
}else{
//不存在,直接存入
obj[secondArr[0]] = secondArr[1];
}
}else{
// 不存在
obj[firstArr[i]] = "undefined";
}
}
return obj;
}
}
console.log(analyseUrl(url));