JSFiddle - React, Tailwind, and code Playground
JavaScript
var pathParams = {
id: 123,
a: 333
};
var queryParams = {
a: 2,
b: 3
}
var path = '/{id}/{a}?a&b'
.replace(/\{(.+?)\}/g, (m, key) => encodeURIComponent(pathParams[key]))
.replace(/([\?&])([^&]+)/g, (m, delimiter, key) => key in queryParams ? delimiter + key + '=' + encodeURIComponent(queryParams[key]) : '')
.replace(/[\?&]/, '?');
alert(path)