I have an input object like:
[{
"id": "123",
"title": "Article 1",
"evaluationLevel": {
"levelName":A
},
"category": ["Category 1", "Category 2", "Category 3"]
},
{
"id": "234",
"title": "Article 2",
"evaluationLevel": {
"levelName":B
},
"category": ["Category 2", "Category 4"]
},
{
"id": "567",
"title": "Article 3",
"evaluationLevel": {
"levelName":C
},
"category": ["Category 1"]
}]
My required output is:
{
"Category 1": [
["1", "Article 1", A],
["2", "Article 3", C]
],
"Category 2": [
["3", "Article 1", A],
["4", "Article 2", B]
],
"Category 3": [
["5", "Article 1", A]
],
"Category 4": [
["6", "Article 2", C]
]
}
Is there any cleaner way to group objects like this in javascript. I found a similar question in How to group an array of objects by key. The difference is I need to group object by values of category object.