JSFiddle - React, Tailwind, and code Playground

by Aaron von Schassen

JavaScript

var arr = [
  {id:1, description: "Test description", tags: "test1"},
  {id:1, description: "Test description", tags: "test2"},
  {id:1, description: "Test description", tags: "test3"},
  {id:2, description: "Test description", tags: "test1"},
  {id:2, description: "Test description", tags: "test2"}
];

var group = (arr, key) => {
  return arr.reduce((acc, cV) => {
    acc[cV[key]] = null ?? {description: cV.description,tags: []};
    acc[cV[key]].tags.push(cV.tags);
    return acc;
  }, {});
};

console.log(group(arr, 'id'));