账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    url中的参数提取为对象,这样的写法不对么
    • 2018-03-06 00:00
    • 10
    21
    0

    面试碰到这个问题,我按照这个思路写的方案,他最后让我回去再看看,我想问下,还有什么更好的实现方式么?

    var url = "http://www.xxxx.com/index.html?keya=a&b=b&c=c";   
    function parseQueryString(argu){
      var str = argu.split('?')[1];
      var result = {};
      var temp = str.split('&');
      temp.forEach(function(item){ 
        var temp2 = item.split('=');
        result[temp2[0]] = temp2[1];
      })
      return result;
    }
    console.log(parseQueryString(url))
    
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • @夢姼 普通会员 1楼

      在URL中,参数提取为对象通常可以通过正则表达式或一些第三方库(如param-parser或urlparse)来实现。以下是一个使用Python的param-parser库提取URL参数的示例:

      ```python import paramparser

      URL with parameters

      url = "https://example.com/path?param1=value1&param2=value2"

      Parse URL

      params = paramparser.parse(url)

      Extract parameter values

      param1 = params['param1'] param2 = params['param2']

      print("Param1: ", param1) print("Param2: ", param2) ```

      在这个示例中,我们首先导入了paramparser库,然后定义了一个URL字符串。然后,我们使用paramparser的parse函数来解析URL,这个函数会返回一个包含所有URL参数的字典。

      接着,我们使用params['param1']和params['param2']来获取参数值。这些参数值都是通过URL字符串的['param1', 'param2']['param1', 'param2']数组来索引的。

      注意,paramparser库只处理基本的URL参数,如字符串、数字和布尔值。对于一些复杂类型的参数,可能需要使用其他方法或库,如requests库的参数提取功能或第三方库,如urlparse和sitemaps等。

      此外,提取URL参数时,如果URL字符串中的参数是以占位符(如?*等)开头的,或者参数值以逗号分隔,那么需要对URL进行相应的处理。在这种情况下,你可以使用paramparser的split()函数来根据占位符或逗号分割参数值,或者使用正则表达式来匹配参数值。

    更多回答
    扫一扫访问手机版