获取地址栏的key-value形式的值(包括重复的key值)形成对象--重复的变成数组形式

Posted fdxjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取地址栏的key-value形式的值(包括重复的key值)形成对象--重复的变成数组形式相关的知识,希望对你有一定的参考价值。

调用-----获取地址栏的所有json数据
    created() {

    
      var url = window.location.href;

    截取问号?之后的数据
      let newurl = this.getCaption(url);
过滤循环数据---获得对象
      let userArray = this.searchObj(newurl);
    
    },


getCaption(obj) {
        var index = obj.lastIndexOf("?");
        obj = obj.substring(index + 1, obj.length);
        return obj;
      },
      searchObj(str) {
        // //去掉?
        // var str = str.slice(1);
        //根据“&”分割字符串
        var arr = str.split("&");
        //定义空的obj,保存对象
        var obj = {};
        //循环遍历分割后的数组
        for (var p of arr) {
          //根据“=”分割
          var arr2 = p.split("=");
          //解构
          var [name, value] = arr2;
          //如果obj中的name为undefined就把值填进去,否则就连接
          if (obj[name] == undefined) {
            obj[name] = value;
          } else {
            obj[name] = [].concat(value, obj[name])
          }
        }
        return obj;
      }        

  

以上是关于获取地址栏的key-value形式的值(包括重复的key值)形成对象--重复的变成数组形式的主要内容,如果未能解决你的问题,请参考以下文章

利用JS获取地址栏的中文参数,如何避免取到乱码?

java把数据以key-value形式放到内存中,以后匹配key值就可以读取数据。大概想法有,求详细代码!!

js如何获取地址栏的参数

JS获取URL传的值与解决获取URL中的中文参数出现乱码

将字典的键与 List 的值进行比较,并返回所有匹配的值,包括重复值

js如何获取地址栏的参数