前端url地址解析

直接上代码

//url 解析
const urlAnalysis = (url) => {
  //通过?分割
  const index = url.split("?");
  //地址
  const address = index[0];
  //参数
  const parameter = index[1];
  //继续进行分割
  const parameterArr = parameter.split("&");
  //储存的数组
  const resultArr = [];
  parameterArr.forEach((item, index) => {
    let r = item.split("=");
    let obj = {
      key: r[0],
      value: r[1],
    };
    resultArr.push(obj);
  });
  let urlanalysisResults = {
    url: address,
    data: resultArr,
  };
  return urlanalysisResults;
};

已经封装好了,直接拿去用就好

分析

其实是一个很简单的一个操作

比如我定义一个叫url的值是

const url = "https://www.baidu.com?id=100&name=测试"

那么我可以通过url.split("?")通过?进行一个分割那么它就变成两部分

const index = url.split("?")

["https://www.baidu.com","id=100&name=测试"] 他会给你返回一个这个数组

那么第一步就完成了我们就可以直接拿到这个数组下标1的这个字符串然后进行一个操作,

"id=100&name=测试"再进行一个分割,这个的话拼接符号是&。

const parameter = index[1].url.split("&");

所以就可以再得到["id=100","name=测试"]这两个数组,然后同理嘛,对数组里面的每一项都进行一次分割,设置个resultArr数组进行储存一下

let resultArr = []

 parameter.forEach((item, index) => {

    let r = item.split("=");

    let obj = {

      key: r[0],

      value: r[1],

    };

    resultArr.push(obj);

  });

然后就完成了,resultArr里面的就是你想要的结构了

{

      id:100,

      name:"测试"  

}

 上面的代码已经封装好了,直接用即可

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值