Javascript 如何替换url中键和参数的值?

Javascript 如何替换url中键和参数的值?,javascript,typescript,Javascript,Typescript,我试图用多个键和参数替换url中的键 Url示例 localhost/{id1}/xyz/{id2}?参数={parameter} 我当前的实现: export const formatString = (url: string, args: any) => { let str = url; for (let key in args) { str = str.replace(new RegExp('\\{' + key + '\\}', 'gi'), args[key]);

我试图用多个键和参数替换url中的键

Url示例

localhost/{id1}/xyz/{id2}?参数={parameter}

我当前的实现:

export const formatString = (url: string, args: any) => {
  let str = url;
  for (let key in args) {
    str = str.replace(new RegExp('\\{' + key + '\\}', 'gi'), args[key]);
  }
  return str;
};
此实现仅适用于单个密钥

预期结果

localhost/DYM123/xyz/AXE123?参数=ABCD

是否有一种一次性更换所有键和参数的解决方案?

试试这个

consturl='localhost/{id1}/xyz/{id2}?parameter={parameter}';
常量args={id1:1,id2:2,参数:'foo'};
常量formatString=(url,args)=>{
返回url.replace(/\{(\w+)\}/ig,(\u,key)=>args[key]);
};

log(formatString(url,args))此项仅适用于单键。您可以添加示例吗?您对上述代码的预期结果如何?在问题@Jacky中添加了预期结果