我正在参加「码上掘金挑战赛」详情请看:码上掘金挑战赛来了!
介绍
url参数的解析是工作和实际开发中常常用到的例子,因此我们是十分十分有必要动手实践掌握它,网上有许多的设计过程和例子,此处我将设计一个比较简单的例子,希望大家耐心看完整个设计过程。如果大家有任何疑问和难题都可以评论区留言,我会第一时间解决和处理的。谢谢各位观众老爷的支持。
码上掘金地址
核心功能讲解
function resolveLru(str) {
let arr1 = str.split("?")[1]
let arr2 = arr1.split("&")
let obj = arr2.reduce((begin,item)=>{
//name=dzp
let arr3 = item.split("=")
begin[arr3[0]] = arr3[1]
return begin
},{})
return obj
}
let obj = resolveLru("http://www.baidu.com?name=dzp&age=22")
console.log(obj)
- 设计一个函数,参数的传递是url参数字符串
- 首先我们通过split切割到?位置,后面的字符串就是关键的对象部分
- 接着,我们通过split切割&,将对象的key和value进行分割,此时所有的对象字符串都保存到了一个数组中
- 最后,我们通过数组的reduce方法进行对象的收集操作,完成。
- 返回最终的解析对象。
总结
上面就是我通过个人的模拟实现的解析url参数的过程,主要的核心就是使用splic进行字符串的切割过程,最后配合reduce的设计完成的,希望大家可以亲自动手实践进行模拟操作,这样会更加熟练使用其过程,当然使用正则表达式也是可以完成的,大家加油。