Live2d Test Env

js获取url参数并将参数格式化

// 描述参数的各种情况
//步骤1:先根据?将str分为两部分,即链接部分(path-url)和参数部分(query-url)
//将参数部分根据& 将参数部分再分割成n部分  
//声明一个对象然后
  let urlObj = "http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e";
      function getUrlObj(url) {
//首先获取? 作为分割路径的标识
        let newurl = url.split("?");  //  Array.isArray(newurl )   true => Array  [ "http://item.taobao.com/item.htm", "a=1&b=2&c=&d=xxx&e" ]
// 根据&作为分割每一个参数的标识
        let oldarray = newurl[1].split("&"); // [ "a=1", "b=2", "c=", "d=xxx", "e" ]
        let strToObj = {};
        for (let i = 0; i < oldarray.length; i++) {
          let arritem = oldarray[i];
// 根据= 作为分割每一个参数内key与value的标识
          let item = arritem.split("=");
          obj[item[0]] = item[1];
        }
        return strToObj ;
      }
  console.log(getUrlObj(urlObj )) // (typeof =>Object  ) Object { a: "1", b: "2", c: "", d: "xxx", e: undefined }

步骤总结

第一步使用?分割path与query

第二步使用&分割个个参数

第三步使用=分割单个参数的key与value

要点: 使用split,将字符分割为数组

posted @ 2022-03-03 14:42  致爱丽丝  阅读(852)  评论(0)    收藏  举报