I am trying to flatten the following object 'raw' into object 'flat'
raw = [ {
"id":"123",
"Date":"12/12/2020",
"Type":{
"id":"456",
"desc":"test1"
} }, {
"id":"124",
"Date":"12/12/2020",
"Type":{
"id":"456",
"desc":"test2"
} } ]
flat =[ {
"id":"123",
"Date":"12/12/2020",
"desc":"test1"
},
{
"id":"124",
"Date":"12/12/2020",
"desc":"test2"
}]
I attempted the following:
let flatData:any = []
const flattenObject = (obj:any) => {
const flattened:any = {}
Object.keys(obj).forEach((key) => {
if (typeof obj[key] === 'object' && obj[key] !== null) {
Object.assign(flattened, flattenObject(obj[key]))
} else {
flattened[key] = obj[key]
}
})
flatData.push(flattened)
console.log(flattened)
return flattened
}
Result I get from the code snippet above.
...........................................................................................