js解析url,将如下url中的参数解析为key-value对象
https://mp.weixin.qq.com/adva...

办法1,split() + 循环顺次取出

parseURLParams(url) {    let queryParams = {}    // 判断是否有参数    if (url.indexOf('?') < 0) return queryParams    // 拆散域名和参数    let domainAndParams = url.split('?')    // 参数切分    let queryStr = domainAndParams[1]    let queryItems = queryStr.split('&')    // 循环参数,把参数转为键值对    queryItems.forEach(item => {        let paramKV = item.split('=')        queryParams[paramKV[0]] = paramKV[1]    })    // 返回参数键值对    return queryParams}

办法2,正则 + arguments

parseURLParams(url) {    let queryParams = {}    // 正则匹配规定    let reg = /([^?=&]+)=([^?=&]+)/g    // 利用replace替换    url.replace(reg, function() {        // 用伪数组进行键值对拼接        queryParams[arguments[1]] = arguments[2]    })    // 返回参数键值对    return queryParams}

办法3,正则 + ...arg

parseURLParams(url) {    let queryParams = {}    // 正则匹配规定    let reg = /([^?=&]+)=([^?=&]+)/g    // 利用replace替换    url.replace(reg, function() {        // 用伪数组进行键值对拼接        queryParams[arguments[1]] = arguments[2]    })    // 返回参数键值对    return queryParams