Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save MarcinGladkowski/3016948a2992489054c2415fa9c621ff to your computer and use it in GitHub Desktop.
Save MarcinGladkowski/3016948a2992489054c2415fa9c621ff to your computer and use it in GitHub Desktop.
const formData = {
name: 'Adam',
'billing_address_city': 'Warsaw',
'billing_address_street': 'ul. Pomorska',
'shipping_address_city': 'Krakow',
'shipping_address_street': 'ul. Karmelicka'
}
// own implementation
const mergeAddress = (data, keyParam) => {
regex = new RegExp(keyParam)
const filtered = Object.keys(data).filter((name) => regex.test(name));
result = {};
filtered.forEach(key => {
resultKey = key.replace(regex, '').substring(1, key.length);
result[resultKey] = data[key];
delete data[key];
});
data[keyParam] = result;
return data;
};
console.log(mergeAddress(formData, 'billing_address'));
console.log(mergeAddress(formData, 'shipping_address'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment