14_参数解析器
本题考点:位置查找、截取、遍历、正则
根据题目要求,解析参数URL中的参数并返回,核心步骤有:
- 创建空对象,用于存储参数信息
- 获取URL中"?"的位置并截取之后的参数信息
- 获取到参数信息之后通过split拆分为数组
- 数组通过遍历每一项将”=“替换为”&“并且再次通过split拆分
- 最终将键名和键值赋给空对象
参考答案:
const _getParams = (url) => {
var obj = {}
let index = url.indexOf('#')
url = index === -1 ? url : url.slice(0, index)
if (url.indexOf('?') !== -1) {
let i = url.indexOf("?")
let arr = url.slice(i + 1).split('&')
arr.forEach(function (item) {
item = item.replace(/\=/, '&')
let t = item.split('&')
obj[t[0]] = t[1] !== undefined ? t[1] : null
})
return obj
} else {
return obj
}
}