首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >请大家解释一下这个JavaScript代码,工作怎么样?

请大家解释一下这个JavaScript代码,工作怎么样?
EN

Stack Overflow用户
提问于 2022-01-23 22:45:13
回答 1查看 40关注 0票数 -1

这是JavaScript代码,工作非常完美,但问题是我无法理解这是如何工作的。如果有人知道这是怎么回事,请解释给我听。

这是查询= ?cid=619386618c57a571f4463d45&type=page

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default (query) => {
    if(query){
        const queryString = query.split("?")[1];
        if(queryString.length > 0){
            const params = queryString.split("&");
            const paramObj = {};
            params.forEach(param => {
                const keyValue = param.split("=");
                paramObj[keyValue[0]] = keyValue[1];
            });
            return paramObj;
        }
    }

    return {};
}
EN

回答 1

Stack Overflow用户

发布于 2022-01-23 22:49:04

这里几乎没有反应。这是相当普通的JavaScript

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default (query) => { // this is the only react here
    if(query){ // if there is a string 
        const queryString = query.split("?")[1]; // get the stuff after the ?
        if(queryString.length > 0){ // if there was stuff after the ? 
            const params = queryString.split("&"); // split on & (gives an array)
            const paramObj = {}; // create an object
            params.forEach(param => { // for each part of the split array 
                const keyValue = param.split("="); // split on the = 
                paramObj[keyValue[0]] = keyValue[1]; // use the string before the = as key and after as value 
            });
            return paramObj; // return the object
        }
    }

    return {}; // otherwise return empty object
}

整件事都可以写下来

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export default (query) => {
  let urlParams = new URLSearchParams(query);
  const result = {};
  for (const [key, value] of urlParams.entries()) { 
    result[key] = value;
  }
  return result;
}

测试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const getParams = query => {
  let urlParams = new URLSearchParams(query);
  const result = {}
  for (const [key, value] of urlParams.entries()) { // each 'entry' is a [key, value] tupple
    result[key] = value;
  }
  return result;
}

console.log(getParams("?cid=619386618c57a571f4463d45&type=page"))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70829927

复制
相关文章
请解释一下TreeMap?
TreeMap是一个有序的key-value集合,基于红黑树(Red-Black tree)的 NavigableMap实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator进行排序,具体取决于使用的构造方法。
剑走天涯
2019/09/10
4640
请解释一下this和super的区别?
切记: · this.方法():先从本类查找是否存在指定的方法,如果没有找到,则调用父类操作; · super.方法():直接由子类调用父类之中的指定方法,不再找子类。
葆宁
2019/04/19
4220
请解释一下this和super的区别?
机器学习论文+代码大全,这个网站请收藏好
一个网站,关于机器学习的网站,在著名的reddit上获得国外网友的热情追捧。如果你要问为什么,其实特别简单。
量子位
2018/07/24
1.2K0
机器学习论文+代码大全,这个网站请收藏好
请解释一下String为什么不可变?
不可变对象是指一个对象的状态在对象被创建之后就不再变化。不可改变的意思就是说:不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类型指向的对象的状态也不能改变。
剑走天涯
2019/09/04
1.7K0
各种学习资料集合大全!请大家惠存!
活动电脑直接访问 www.javazysq.com 电脑版 首页 学习路线 共享资料大全 手机版
Java学习
2018/09/21
1.5K0
各种学习资料集合大全!请大家惠存!
解释一下 HashMap 的工作原理
HashMap 是基于散列表的数据结构。所谓散列表,它通过键值对的方式存储数据,把 key 通过散列算法计算出一个存储地址,将 value 放入这个地址中。散列表是最常用的数据结构之一,在不考虑 hash 冲突的情况下,散列表的查询复杂度是 O(1)。
水货程序员
2018/11/13
1K0
QQ重大更新,请大家手下留情
疫情期间,老师和家长为孩子们上课操碎了心,在众多的远程上课的APP中,突然它站了出来! 作为一款国民级的应用,它向来以群众基础广泛,音视频通话稳定,传输大容量文件不费劲著称。 这次为了让娃儿们更好的学习,QQ版本进行了重大更新! 不用下载,不用复杂学习,在原来的QQ班级群,就可以完成所有教学相关的事。 接下来,请看它的实力表演: (PS:前车之鉴,请诸位小学生手下留情,五星一次付清~) 上课就用“群课堂” 新推出的“群课堂”功能,老师在QQ群就能直接进行在线教学,用电脑和手机都可以发起或加入学习,大班
腾讯大讲堂
2020/02/25
7690
QQ重大更新,请大家手下留情
请解释一下extends 和super 泛型限定符
1)上界的list只能get,不能add(确切地说不能add出除null之外的对象,包括Object),
剑走天涯
2019/09/02
1.1K0
请解释一下extends 和super 泛型限定符
请马上卸载这个恶心的软件!!!
大家都知道,Notepad++ 是 Windows 系统上用的比较多的一款编辑器,之前就频频作妖被广大程序员抵制,不知道哪里来的底气,最近 Notepad++ 又开始作妖了:
Java技术栈
2023/02/06
9640
请马上卸载这个恶心的软件!!!
面试题:请解释一下什么是虚拟内存?
内存对于用户来说就是一个字节数组,我们可以根据地址来访问到某个字节或者某些字节:
老钱
2019/09/17
3.2K0
面试题:请解释一下什么是虚拟内存?
请马上卸载这个恶心人的软件!
愚蠢至极!可笑至极!这样的作者,这样的软件,就是开源界的毒瘤,只能卸载以示“鄙视”!!
沉默王二
2023/03/06
4770
请马上卸载这个恶心人的软件!
请马上卸载这个恶心人的软件!
你好呀,我是月亮,一个90后的老程序员啦~ 平时会在公众号上分享一些自己的生活感悟、读书笔记、程序员、科技类讯息等,欢迎读者朋友留言交流呀~ 推荐阅读: 《家里着火了...》 《新年第一次,心脏受不了...》 Notepad++ 的作者,最近又发表了离谱的言论了。 公开对外宣称,如果不同意他的 ZZ 观点,他就会在我们的代码里,随机添加字符。 恶心人 在去年,我写了一篇推荐好用的编辑器的文章,介绍的就是 Notepad++ 。 当时文章发表之后,就有读者在文章评论区提醒我,Notepad++ 的作者有一些
纯洁的微笑
2023/03/29
6080
请马上卸载这个恶心人的软件!
空闲时间请大家不要接私活,要提升自己!
现在社会,有很多人都在利用个人时间兼职赚钱,程序员俗称“接私活”,其他行业称作兼职,比如下了班出去跑滴滴,周末兼职抢单送外卖等等,都是普通人很常见的兼职方式。
JAVA高级架构开发
2018/10/06
1K0
关于编码解码问题,我给大家总结好了,请查收
将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成 一个十六进制字符串。
Python知识大全
2020/02/21
8280
请大家做好1年内随时失业的准备。。。
最近闲来无事,跟国内一群各行各业的老朋友聊天。 大家从基金股票聊到消费趋势,从商业模式谈到行业前景,最后话题落到了不同行业不同岗位的工资天花板上。 朋友的年纪几乎都在 35 岁上下,工作十多年来,职场晋升还算比较顺利。 但到了这个年龄,大家不约而同地都发现了同一个问题,那就是——目前收入基本达到上限,很难再继续突破。 放眼一线城市的月薪天花板,不管是技术、产品、运营还是市场类职位,好像普遍都在 5 万左右。 到了这个数之后再想上涨,总有些无形的阻力。而且这个临界点不是通过能力提升、经验累积就能跨越的。 其实
用户1564362
2022/09/27
3610
请大家做好1年内随时失业的准备。。。
一图搞定 Matplotlib,请收下这个小抄!
今天的推送没有太多废话,给大家分享一位GitHub大神制作的Matplotlib cheat sheet,直接看图⬇️
Python数据科学
2020/12/03
3470
一图搞定 Matplotlib,请收下这个小抄!
这个项目,教大家仿 100 多个知名网站!
由国外朋友开发的【知名网站开源克隆项目】收集网站。通俗地讲,就是把别人做好的仿制品进行了分类汇总。
程序员阿杜
2021/07/28
8340
这个项目,教大家仿 100 多个知名网站!
这个项目,教大家仿 100 多个知名网站!
由国外朋友开发的【知名网站开源克隆项目】收集网站。通俗地讲,就是把别人做好的仿制品进行了分类汇总。
程序员阿杜
2021/05/15
1.5K0
这个项目,教大家仿 100 多个知名网站!
面试题012:请解释一下C语言中的结构体
结构体(Struct)是C语言中一种复合数据类型,它允许我们将不同类型的数据组合在一起,形成一个单一的变量。
C语言中文社区
2023/09/13
2460
面试题012:请解释一下C语言中的结构体
数据表或记录被锁住,解锁方法,请大家指教!
最近老是碰到数据库中的数据表被锁需要解锁的问题,弄了一番后,现在把方法贡献出来给大家,请大家多指教 1、select * from v$locked_object 查出被锁定的对象,其中object_id是对象的ID,session_id是被锁定对象有session ID; 2、select object_name, object_type from dba_objects where object_id = 刚才查出来的object_id;(根据v$locked_object里的object_id提出来的
Java学习123
2018/05/16
7880

相似问题

SQL server条件选择语句

61

SQL Server中条件的可选性

21

根据条件选择列SQL Server

12

SQL Server CTE选择多个条件

21

SQL Server:选择多个表/条件

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文