Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从URL中删除相同的查询参数_Javascript_Jquery_Ajax_Frontend - Fatal编程技术网

Javascript 如何从URL中删除相同的查询参数

Javascript 如何从URL中删除相同的查询参数,javascript,jquery,ajax,frontend,Javascript,Jquery,Ajax,Frontend,我需要从URL中删除重复的查询字符串参数 输入示例 需要它吗 预期产出: 我使用的是jquery代码,但不起作用 function removeDuplicate(url) { url = decodeURIComponent(url); // decode the url,remove %5B becomes var query = url.split('?')[1]; //

我需要从URL中删除重复的查询字符串参数

输入示例

需要它吗

预期产出:

我使用的是jquery代码,但不起作用

function removeDuplicate(url) {
            url = decodeURIComponent(url);                  // decode the url,remove %5B becomes
            var query = url.split('?')[1];                  // get only the query
            var parts = query.split('&');                  // split the query into parts
            var params = {};
            for (var i = 0; i < parts.length; i++) {
              var nv = parts[i].split('=');
              if (!nv[0]) continue;
              var value = nv[1] || true;
              if (params[nv[0]] && params[nv[0]].indexOf(value)) {
                params[nv[0]].push(value);
              } else {
                params[nv[0]] = [value];
              }
            }
            url = url.split('?')[0] + '?';
            var keys = Object.keys(params);
            for (var i = 0; i < keys.length; i++) {
              url += keys[i] + '=' + params[keys[i]].join('+');
              if (i !== keys.length - 1) url += '&';
            }
            return url;
          }
          removeDuplicate(window.location.href)
函数移除副本(url){
url=decodeURIComponent(url);//解码url,删除%5B
var query=url.split(“?”)[1];//仅获取查询
var parts=query.split('&');//将查询拆分为多个部分
var params={};
对于(变量i=0;i
代码是正确的还是我遗漏了什么?谢谢

这应该可以:

//var current=document.getElementById(“当前”).innerHTML=
//window.location.href;
无功电流传感器http://example.com/?foo=42&bar=43&foo=42&bar=43';
console.log('current',current);
var splitUrl=current.split('&');
log(splitUrl);
var newUrl=splitUrl[0]+'&'+splitUrl[3];

console.log(newUrl)完成此操作的方法之一:

const-link=”http://example.com/?foo=42&bar=43&foo=42&bar=43"
const params=link.replace(/.\?/g',)//替换“?”之前的所有内容
.split('&')//由'&'分割
.filter((e,i,a)=>a.indexOf(e)==i)//过滤器重复项
.join('&')//通过'&'连接
const res=link.replace(/\?*/g,“?”+params)//将链接参数替换为不重复的参数

log(res)
请注意,您的帖子实际上并不包含问题。你告诉我们你需要做什么,但你还没有完成:你仍然需要告诉我们你写了什么代码,它是如何不起作用的,以及你在哪里被困在调试它的过程中。如果您还没有代码,。谢谢,greatThanks的努力正在发挥作用。