Files
30-seconds-of-code/test/flattenObject/flattenObject.js
Angelos Chalaris 3719814f25 Add flattenObject, unflattenObject
Tagged and tested. Quite complex methods btw.
2018-02-07 11:30:18 +02:00

12 lines
296 B
JavaScript

const flattenObject = (obj, prefix = '') =>
Object.keys(obj).reduce((acc, k) => {
const pre = prefix.length ? (prefix + '.') : '';
if (typeof obj[k] === 'object')
Object.assign(
acc,
flattenObject(obj[k], pre + k)
);
else acc[pre + k] = obj[k];
return acc;
}, {});
module.exports = flattenObject;