// 最简洁易懂的方法。

获取 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

相关推荐

代码飞升_不回私信人...:啊喂笨蛋算法为什么写查找,线程池怎么放计网上去了,写动态规划真的不会被狠狠地制裁吗oi
点赞 评论 收藏
分享
敢逐云霄志:你打招呼语怎么能这么长,hr都没看下去的欲望,简明扼要说重点,就读于某某学校某某专业,26届应届毕业生,学信网可查,先后在某某公司实习过(如有),然后做过什么项目,想找一份什么样的工作,可实习几个月以上,期待您的回复。
点赞 评论 收藏
分享
评论
68
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务