JSFiddle - React, Tailwind, and code Playground
by prozoroff
JavaScript
const getPrefix = (prefix, key) => (prefix ? prefix + '_' : '') + (key ? key : '');
const getKeysRec = (obj, key, prefix) => {
const value = key !== undefined ? obj[key] : obj,
objPrefix = getPrefix(prefix, key)
return typeof value === 'object'
? Object.keys(value).reduce((r, k) => r.concat(getKeysRec(value, k, objPrefix)), objPrefix ? [objPrefix] : [])
: objPrefix;
};
console.log(getKeysRec({'a': 1, 'b': 2, 'c': {'d': 3, 'e': [4,5]}}))