js分割url参数(附有代码)

JS 分割url参数

url地址示例http://pages/index/index?id=13&name=wangwu&age=19

let url = "http://pages/index/index?id=12&name=zhangsan&age=18";
let obj = {};
let str = url.split("?")[1].split("&");
for (let i = 0; i < str.length; i++) {
     let a = str[i].split('=')
     obj[a[0]] = a[1]
}
console.log(obj);

分解讲析

url.split("?")[1]   // id=12&name=zhangsan&age=18
/* 以“ ? ”分割url为两个数组,数组下标为0的,是url路径;数组下标为1的,是url参数。我们取下标为1的值
   ["http://pages/index/index", "id=12&name=zhangsan&age=18"]
*/ 
url.split("?")[1].split("&")  //  ["id=12", "name=zhangsan", "age=18"]
/* 将上步下标为1的值取出后,再次以“ & ”分割成新的数组
*/
for (let i = 0; i < str.length; i++) {
    let a = str[i].split('='); // 小1
    obj[a[0]] = a[1];  // 小2
}
/* 将上步分割好的数组进行循环,将每一个数组值以 “ = ”分割成小段新数组  // 小1
	["id", "12"]
	["name", "zhangsan"]
	["age", "18"]
	// 小2  将分割好的小段数组组成对象形式并存储在定义好的obj对象中
	obj结果: {id: "12", name: "zhangsan", age: "18"}
*/

函数写法

let url="www.baidu.com?name=1&age=9&like=vue" //示例1
let ur2="www.baidu.com?name=13&age=93&like=vuesss"//示例1
  function fn(url) {
    let obj = {}
    let str = url.split("?")[1].split("&");
      for (var i = 0; i < str.length; i++) {
            let a = str[i].split('=')
              obj[a[0]] = a[1]
         }
          return obj
    }
   // 方式一
     fn(ur1)
     console.log(fn(ur1));
   // 方式二
     console.log(fn("www.baidu.com?name=13&age=93&like=vuesss"));

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值