I have a nested object:
myObject {
"fshkj78gds": {
"name": "Joe",
"created_at": {
"nanoseconds": 745000000,
"seconds": 1645468219,
},
"updated_at": {
"nanoseconds": 0,
"seconds": 1645471800,
},
},
"gsdg987": {
"name": "Mike",
"created_at": {
"nanoseconds": 745000000,
"seconds": 1645468219,
},
"updated_at": {
"nanoseconds": 0,
"seconds": 1645471800,
},
},
}
I would like to convert created_at and updated_at in each nested object to only return the seconds instead as a number like so:
myObject {
"fshkj78gds": {
"name": "Joe",
"created_at": 1645468219,
"updated_at": 1645471800,
},
"gsdg987": {
"name": "Joe",
"created_at": 1645468219,
"updated_at": 1645471800,
},
}
I am thinking I will need a mix of map and Object.assign as well as spread operator?
So far I got to:
Object.assign({}, myObject, Object.values(myObject).map((nestedObject) =>
Object.assign({}, nestedObject, {...nestedObject, created_at: nestedObject.created_at.seconds})
))
But this generates an array of objects and doesn't keep the original structure. What's the proper way to do this?