将URL参数解析成对象

1,191 阅读1分钟
  • String.prototype.match()与适当的正则表达式一起使用获取所有键值对
  • 用Array.prototype.reduce()将它们组合为单个对象
  • 传递location.search作为参数作为当前的url
const getURLParameters = (url) =>
    (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
      (a, v) => (
        (a[v.slice(0, v.indexOf("="))] = v.slice(v.indexOf("=") + 1)), a
      ),
      {}
    );
getURLParameters("https://juejin.cn/"); // {}
getURLParameters("http://url.com/page?name=Tom&age=18"); // {name: "Tom", age: "18"}

==================================

此为个人学习记录文章,如有错误请指出
欢迎小伙伴前来交流,如有转载请注明出处,谢谢
每一个努力的人都值得被肯定,但是最大的肯定来源于自己!!!
加油每一天!!!