题解 | #获取 url 参数#

获取 url 参数

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

将每种情况都分别判断一下就好,面向测试用例编程

// 获取url后的参数或传入的url后的参数
function urlQuery(url, key) {
    let params = url.split("?")[1].replace(/\#.*/, '')
    // 判断是否含有参数
    if (params) {
        let paramsList = params.split("&")
        /**
         * 判断是否含有key值
         * 如果含有key值,只需要针对该key值进行修改即可
         */
        if (key) {
            let list = paramsList.filter(val => val.indexOf(key) !== -1)
            // 如果数组有长度,则证明有值
            if (list.length) {
                let result = []
                for (let i = 0; i < list.length; i++) {
                    result.push(list[i].split("=")[1])
                }
                // 如果值不止一个,返回数组
                return result.length > 1 ?
                    result :
                    result[0]
            }
            return ''
        } else {
            let
                // 排序,将一类参数排列在一起
                list = paramsList.sort(),
                // 记录前一个参数值,如果参数值相同,则归类到同一个数组元素中
                preKey = ""
            return list.reduce((pre, next) => {
                let [key, val] = next.split("=")
                if (preKey === key) {
                    // 如果前后两个参数相同,则创建数组并将元素添加进去
                    if (Array.isArray(pre[key])) {
                        pre[key].push(val)
                    } else {
                        pre[key] = [pre[key], val]
                    }
                } else {
                    pre[key] = val
                }
                preKey = key
                return pre
            }, {})
        }
    }
    return ''
}
全部评论

相关推荐

学java时间比较短不到三个月,基本的技术栈都过了一遍就是都不太深,有个小项目。是继续找实习还是沉淀准备秋招呢?找实习的话会花很多时间在八股,放弃的话又怕秋招简历太难看。有无大佬支招
今天java了吗:1.一定要找实习,实习不一定要去,但是找实习过程中的面试经验和心态经验才是最重要的 2.八股本来就是大头,甚至比项目重要 3.这个时间段也是面试比较多的阶段,可以抓住机会锻炼。面试才会发现自己的不足,感觉自己会了和能给面试官娓娓道来是两码事
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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