JSFiddle - React, Tailwind, and code Playground
by Richard Hunter
JavaScript
function isObject(obj) {
return typeof obj === "object" && obj !== null && !Array.isArray(obj);
}
const visitObject = (obj) => {
if (isObject(obj)) {
return Object.keys(obj).reduce((memo, key) => {
return {...memo, [`_${key}`]: { value: visitObject(obj[key]), key, metadata: 'blah'}}
}, {})
} else if (Array.isArray(obj)) {
return obj.map(visitObject);
}
return obj;
};
const obj = {
foo: {
name: 'Richard'
},
bar: 'bar',
};
const result = visitObject(obj);
console.log(obj, result)