前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【本周面试题】第一周

【本周面试题】第一周

作者头像
xing.org1^
发布2018-12-13 16:50:21
3520
发布2018-12-13 16:50:21
举报
文章被收录于专栏:前端说吧前端说吧前端说吧

2018.11.16 面试题一:你如何获取浏览器URL中查询字符串中的参数?

题目代码:

  测试地址为

1 https://www.sogou.com/tx?query=javascript&ie=utf8&_ast=1542338688&_asf=null&w=01029901&hdq=sogou-clse-f507783927f2ec27&duppid=1&cid=&cid=&s_from=result_up&sut=3994&sst0=1542345989626&lkt=0%2C0%2C0&sugsuv=00B66944761A10BC5B28AFF86BBCB412&sugtime=1542345989626

考点分析:

location对象

字符串转对象格式

 1 getSearch(location.search.substring(1))
 2   function getSearch(str){
 3     str = str || undefined;
 4     let obj  = {};
 5     if(str){//没有查询字符串返回空数组
 6       let arr = str.split('&');
 7       arr.forEach((el)=>{
 8         let item = el.split('=')
 9         obj[item[0]] = item[1];
10       })
11       console.log(obj)
12     }
13     return obj;
14   }

解决思路:

1、location对象的search属性拿到url中的查询字符串。传到我们提前封装好的getSearch数组中(或者这一步可以也封装到函数中,但那样函数就只能获取location的查询字符串了,不方便以后的扩展。所以将获取字符串这一步提了出来)。

substring(1)是为了删掉拿到的字符串中,第一位的'?'字符。

2、getSearch函数思路

先利用“&”关键字将字符串分割成包含所有键值对字符串的数组。

然后遍历数组,利用“=”关键字将数组的每一项再进行分割成新的多个数组。

每个数组的第0项作为对象的键,第1项作为数组的值。即可。

解决方案s:

见上图和getSearch()函数

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2018.11.16 面试题一:你如何获取浏览器URL中查询字符串中的参数?
    • 题目代码:
      • 考点分析:
        • 解决思路:
          • 解决方案s:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档