Javascript 如何从URL中删除相同的查询参数
我需要从URL中删除重复的查询字符串参数 输入示例 需要它吗 预期产出: 我使用的是jquery代码,但不起作用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]; //
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的努力正在发挥作用。