js获取url参数并将参数格式化
// 描述参数的各种情况
//步骤1:先根据?将str分为两部分,即链接部分(path-url)和参数部分(query-url)
//将参数部分根据& 将参数部分再分割成n部分
//声明一个对象然后
let urlObj = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
function getUrlObj(url) {
//首先获取? 作为分割路径的标识
let newurl = url.split("?"); // Array.isArray(newurl ) true => Array [ "http://item.taobao.com/item.htm", "a=1&b=2&c=&d=xxx&e" ]
// 根据&作为分割每一个参数的标识
let oldarray = newurl[1].split("&"); // [ "a=1", "b=2", "c=", "d=xxx", "e" ]
let strToObj = {};
for (let i = 0; i < oldarray.length; i++) {
let arritem = oldarray[i];
// 根据= 作为分割每一个参数内key与value的标识
let item = arritem.split("=");
obj[item[0]] = item[1];
}
return strToObj ;
}
console.log(getUrlObj(urlObj )) // (typeof =>Object ) Object { a: "1", b: "2", c: "", d: "xxx", e: undefined }
步骤总结
第一步使用?分割path与query
第二步使用&分割个个参数
第三步使用=分割单个参数的key与value
要点: 使用split,将字符分割为数组
浙公网安备 33010602011771号