[牛客网-前端大挑战QD2] 获取url参数

简介: [牛客网-前端大挑战QD2] 获取url参数

题目描述

获取 url 中的参数

1.指定参数名称,返回该参数的值 或者 空字符串

2.不指定参数名称,返回全部的参数对象 或者 {}

3.如果存在多个同名参数,则返回数组

示例1

输入

http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe key

输出

[1, 2, 3]

代码

function getUrlParam(sUrl, sKey) {
    //字符分割获取键值对字符串
    var Url = sUrl.split('#')[0].split('?')[1].split('&');
    // console.log(Url);
    // 0: "key=1"
    // 1: "key=2"
    // 2: "key=3"
    // 3: "test=4"
    var res = {};
    //分离键值对
    for(var i = 0;i<Url.length;i++){
        var kv = Url[i].split('=');
        //已经含有该属性,直接push
        if(res.hasOwnProperty(kv[0])){
            res[kv[0]].push(kv[1]);
        }
        //不含该属性,创建空数组存放
        else{
            res[kv[0]] = [];
            res[kv[0]].push(kv[1]);
        }
    }
    // console.log(res);
    // key: (3) ["1", "2", "3"]
    // test: ["4"]
    //指定sKey
    if(sKey!=null){
        //含有sKey该属性
        if(res.hasOwnProperty(sKey)){
            //只有一个同名参数
            if(res[sKey].length == 1){
                return res[sKey][0];
            }
            //该参数的值为空
            if(res[sKey].length == 0){
                return "";
            }
            //多个同名参数,返回数组
            return res[sKey];
        }
        //不含sKey属性
        return "";
    }
    //不指定sKey,返回全部参数对象
    return res;
}
目录
相关文章
|
19天前
|
JavaScript
vue截取URL中的参数
vue截取URL中的参数
13 0
|
1月前
|
前端开发
调试前端时,在浏览器上修改参数并重新调用接口
有时候我们的页面点击过了,但是接口出问题,想修改参数再调用一次,一般是用apiPost工具把接口复制,再加上token和参数,但是这样非常的效率比较低。
42 0
|
2月前
BurpSuite8.2 -- 查找包含id参数的URL
BurpSuite8.2 -- 查找包含id参数的URL
19 1
|
2月前
|
分布式计算 DataWorks 关系型数据库
DataWorks数据源问题之参数“连接Url”如何解决
DataWorks数据源是指DataWorks中配置的用于数据集成的外部数据源;本合集将讲解如何在DataWorks中配置和管理数据源,以及处理数据源连接和集成过程中的问题。
29 5
|
3月前
Copy网页中F12里的请求url到postman,并且把所有参数都带过来
Copy网页中F12里的请求url到postman,并且把所有参数都带过来
29 0
|
2月前
feign使用url参数传参@SpringQueryMap使用
feign使用url参数传参@SpringQueryMap使用
35 0
|
1天前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
16 0
|
19天前
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
【超实用】Angular如何修改当前页面网页浏览器url后面?param1=xxx&param2=xxx参数(多用于通过浏览器地址参数保存用户当前操作状态的需求),实现监听url路由切换、状态变化。
|
19天前
|
JavaScript
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
【归总】原生js操作浏览器hash、url参数参数获取/修改方法合集
|
1月前
|
前端开发 JavaScript