题解 | #获取 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

相关推荐

不愿透露姓名的神秘牛友
07-07 11:20
点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务