// 最简洁易懂的方法。

获取 url 参数

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

// 最简洁易懂的方法。

function getUrlParam(sUrl, sKey) {
var paramArr = sUrl.split('?')[1].split('#')[0].split('&'); // 取出每个参数的键值对放入数组
const obj = {};
paramArr.forEach(element => {
const [key, value] = element.split('=');  // 取出数组中每一项的键与值
if(obj[key] === void 0){   // 表示第一次遍历这个元素,直接添加到对象上面
obj[key]=value
} else{
obj[key]=[].concat(obj[key],value); // 表示不是第一次遍历说明这个键已有,通过数组存起来。
}});
return sKey===void 0? obj:obj[sKey]||''   // 如果该方法为一个参数,则返回对象。
//如果为两个参数,sKey存在,则返回值或数组,否则返回空字符。
}
全部评论
sUrly='http://www.nowcoder.com' 时会报错 sUrl.split('?')[1]取到的是undefined
4 回复 分享
发布于 2019-12-18 19:48
void 0是什么意思?
1 回复 分享
发布于 2021-08-20 19:52
每次concat也不友好吧,不如加多一个判断改用push
1 回复 分享
发布于 2021-06-17 15:06
Contact是将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组
点赞 回复 分享
发布于 2021-11-24 23:08
void 0和undefined是等价的啊
点赞 回复 分享
发布于 2021-11-24 23:06
void 0是undefined备选方案,换句话说void 0和undefined是等价的
点赞 回复 分享
发布于 2021-09-29 16:54
void 0是什么意思?
点赞 回复 分享
发布于 2021-09-07 17:15
先判断?是否存在 再截取
点赞 回复 分享
发布于 2021-04-06 14:02

相关推荐

03-16 22:00
武汉大学 C++
幸福的小熊猫想要offer:我阿里投的 c++岗,面试官说自己是做 java 的,c++这辈子才有了
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
68
6
分享

创作者周榜

更多
牛客网
牛客企业服务