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.
 
    