I have an array of Objects which will always be structured like so:
var initialJSON = [
{
"id":"01",
"name":"Jane",
"project":{
"title":"Alpha",
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"city":"New York"
},
"dateCreated":"2018-04-28 04:11:16 UTC"
},
{
"id":"02",
"name":"Sarah",
"project":{
"title":"Beta",
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"city":"London"
},
"dateCreated":"2018-04-28 04:11:29 UTC"
},
{
"id":"03",
"name":"Mia",
"project":{
"title":"Gamma",
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"city":"Paris"
},
"dateCreated":"2018-04-28 04:11:29 UTC"
}
];
My goal is to create a new array of Objects containing just the key/values of each item's projects. Essentially removing all of the other data (including the parent key 'project') from each item.
The end result would look like so:
var formattedJSON = [
{
"title":"Alpha",
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"city":"New York"
},
{
"title":"Beta",
"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"city":"London"
},
{
"title":"Gamma",
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit",
"Paris"
}
]
I am having difficulty finding a way to loop through the data and achieve the correct result. I am aware there are similar questions already posted but non seem to create a new array out of the nested key/values of an inner key.
You can use Array#map()
for this, by assigning each element of the array to it's project
property:
let initialJSON=[{"id":"01","name":"Jane","project":{"title":"Alpha","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit","city":"New York"},"dateCreated":"2018-04-28 04:11:16 UTC"},{"id":"02","name":"Sarah","project":{"title":"Beta","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit","city":"London"},"dateCreated":"2018-04-28 04:11:29 UTC"},{"id":"03","name":"Mia","project":{"title":"Gamma","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit","city":"Paris"},"dateCreated":"2018-04-28 04:11:29 UTC"}];
let result = initialJSON.map(element => element.project);
console.log(result)