function appendQueryParams(url, params) {
function objectToQueryString(obj) {
return Object.keys(obj)
.map(key => encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]))
.join('&');
}
const urlObj = new URL(url);
let queryString = urlObj.search || '';
if (queryString) {
queryString += '&';
}
queryString += objectToQueryString(params);
urlObj.search = queryString;
return urlObj.toString();
}
const url = 'https://example.com/page';
const params = {
param1: 'value1',
param2: 'value2',
param3: 'value3 with spaces'
};
const newUrl = appendQueryParams(url, params);
console.log(newUrl);
console