题解 | #获取 url 参数#

获取 url 参数

http://www.nowcoder.com/practice/a3ded747e3884a3c86d09d88d1652e10

function getUrlParam(sUrl, sKey) {
    //获取 url 中的参数
    //1. 指定参数名称,返回该参数的值 或者 空字符串
    //2. 不指定参数名称,返回全部的参数对象 或者 {}
    //3. 如果存在多个同名参数,则返回数组
    //4. 不支持URLSearchParams方法
    let tmp = sUrl.split('?')[1].split('#')[0]
    let obj = {}
    let arr = tmp.split('&')
    for(let len = arr.length, i=0; i<len; i++){
        let cc = arr[i].split('=')
        if(cc[0] in obj){
            if(typeof obj[cc[0]]==='string'){
                obj[cc[0]] = [obj[cc[0]]]
            }
            obj[cc[0]].push(cc[1])
        }else{
            obj[cc[0]] = cc[1]
        }
    }
    if(sKey){
        return obj[sKey]?obj[sKey]:''
    }
    return obj
}
全部评论
if(typeof obj[cc[0]]==='string'){ obj[cc[0]] = [obj[cc[0]]] } 这两行是在第二个key时生成一个数组吗? []还有这个作用啊
点赞 回复 分享
发布于 2021-08-27 21:55

相关推荐

牛客263158796号:我领羊一面后十天不挂也不推进 今天问hr说等前序的第一批意向发完看情况再看是否推进
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务