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]}}))