码上掘金实现解析url

1,402 阅读1分钟

我正在参加「码上掘金挑战赛」详情请看:码上掘金挑战赛来了!

介绍

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)
  1. 设计一个函数,参数的传递是url参数字符串
  2. 首先我们通过split切割到?位置,后面的字符串就是关键的对象部分
  3. 接着,我们通过split切割&,将对象的key和value进行分割,此时所有的对象字符串都保存到了一个数组中
  4. 最后,我们通过数组的reduce方法进行对象的收集操作,完成。
  5. 返回最终的解析对象。

总结

上面就是我通过个人的模拟实现的解析url参数的过程,主要的核心就是使用splic进行字符串的切割过程,最后配合reduce的设计完成的,希望大家可以亲自动手实践进行模拟操作,这样会更加熟练使用其过程,当然使用正则表达式也是可以完成的,大家加油。