Javascript:替换字符串中的特定单词

Javascript:替换字符串中的特定单词,javascript,jquery,url,Javascript,Jquery,Url,我喜欢在语言的函数中更改URL,因此我尝试了以下代码: var dec = { "agence": "agency", "conseil": "consulting", "partnaires": "partners", "a-propos": "about", "recherche": "search" } var url = window.location.href; var urlRedirect = url.replace("/fr/", "/en/"); urlRe

我喜欢在语言的函数中更改URL,因此我尝试了以下代码:

var dec = {
  "agence": "agency",
  "conseil": "consulting",
  "partnaires": "partners",
  "a-propos": "about",
  "recherche": "search"
}
var url = window.location.href;
var urlRedirect = url.replace("/fr/", "/en/");
urlRedirect = urlRedirect.replace(!!) // how can I use the dec ?
例如,如果我的URL如下所示:


应该是这样的:

使用for…in循环迭代对象的键,然后检查URL中是否存在键字符串,如果是,则用该键的值替换它

请参见下面的示例,其中我使用了一个假的URL:

var dec={ 代理机构:代理机构, 委员会:咨询, 合作伙伴:, a提案人:关于, 雷切:搜索, fr:en } //var url=window.location.href; //让我们在这里伪造一个url: 变量url=http://exemple.com/fr/agence; console.logentry URL:,URL 对于12月的var键{ 如果url.indexOfkey>-1{ url=url.replacekey,dec[key] } }
console.logoutput URL:,URL 您必须在最后一个斜杠后获取字符串,并用dec[string]替换它:

var dec={ 代理机构:代理机构, 委员会:咨询, 合作伙伴:, a提案人:关于, 记录:搜索 } 变量url=http://exemple.com/fr/agence var urlRedirect=url.replace/fr/,/en/; var positionOfLastSlash=urlRedirect.lastIndexOf'/'; var lastPart=urlRedirect.substringpositionOfLastSlash+1; var firstPart=urlRedirect.substring0,LastSlash+1的位置; 如果最后一部分在12月{ 控制台.logfirstPart+dec[lastPart];
} 您可以使用Object.keys将每个键与|连接起来构建正则表达式,或者在正则表达式中,然后可以在调用dec值的replace回调中使用它

var dec={ 代理机构:代理机构, 委员会:咨询, 合作伙伴:, a提案人:关于, 记录:搜索 }; 变量url=http://exemple.com/fr/agence/conseil/partnaires/a-propos/recherche; var urlRedirect=url.replace/fr/,/en/; var r=new RegExpObject.keysdec.join |,gi; urlRedirect=urlRedirect.replacer,m=>dec[m];
console.logurlRedirect;您想做什么?他正在做的是,在他的示例agence中,匹配dec中键的内容应该替换为值->agency@ChrisLi代理->代理、协商->咨询等