14_参数解析器

本题考点:位置查找、截取、遍历、正则

根据题目要求,解析参数URL中的参数并返回,核心步骤有:

  1. 创建空对象,用于存储参数信息
  2. 获取URL中"?"的位置并截取之后的参数信息
  3. 获取到参数信息之后通过split拆分为数组
  4. 数组通过遍历每一项将”=“替换为”&“并且再次通过split拆分
  5. 最终将键名和键值赋给空对象

参考答案

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
    }
}