URLからキーおよびパラメータの値を交換する方法は?

過酷なNagalla:

私は、複数のキーとパラメータを持つURLから鍵を交換しようとしています

URLの例

ローカルホスト/ {ID1} / XYZ / {ID2}?パラメータ= {パラメータ}

私の現在の実装:

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

一度にすべてのキーとパラメータを交換する解決策はありますか?

ハオ呉:

これを試して?

const url = 'localhost/{id1}/xyz/{id2}?parameter={parameter}';
const args = {id1: 1, id2: 2, parameter: 'foo'};

const formatString = (url, args) => {
	return url.replace(/\{(\w+)\}/ig, (_, key) => args[key]);
};

console.log(formatString(url, args));

活字体で:

export const formatString = (url: string, args: any) => {
    return url.replace(/\{(\w+)\}/ig, (_, key) => args[key]);
};

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=26376&siteId=1
おすすめ