Flatten Object

Flatten a nested object to a single level with dot notation keys.

Code

General
const flatten = (o, prefix = '') => Object.keys(o).reduce((acc, k) => {
  const key = prefix ? `${prefix}.${k}` : k;
  return typeof o[k] === 'object' && o[k] !== null && !Array.isArray(o[k])
    ? { ...acc, ...flatten(o[k], key) } : { ...acc, [key]: o[k] };
}, {});
return flatten(obj);

Parameters

Nested object

Browser·fetch() may be limited by CORS

More JavaScript Snippets