Files
30-seconds-of-code/test/flattenObject/flattenObject.js
2018-02-07 11:36:01 +02:00

8 lines
292 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;