Grupo de objetos que anidan algunas de las claves con nombres específicos

Tengo este conjunto de objetos que necesito modificar para facilitar el renderizado.

const items = [
  {
    tab: 'Results',
    section: '2017',
    title: 'Full year Results',
    description: 'Something here',
  },
    {
    tab: 'Results',
    section: '2017',
    title: 'Half year Results',
    description: 'Something here',
  },
    {
    tab: 'Reports',
    section: 'Marketing',
    title: 'First Report',
    description: 'Something here',
  },
  ...
];

y estoy tratando de modificarlo, agrupándolos por teclas específicas. La idea es tener esta salida. Como puede ver, los nombres de las claves pueden ser diferentes a los nombres reales en los elementos. Creo que eso es un poco diferente de las publicaciones anteriores.

const output = [
  {
    tab: 'Results',
    sections: [
      {
         section: '2017',
         items: [ { 'item that belongs here' }, { ... } ],
      },
  },
  {
    tab: 'Reports',
    sections: [
      {
         section: 'Marketing',
         items: [ { ... }, { ... } ],
      },
  },
...
]

Traté de usarlodash.groupby, pero no hace exactamente lo que estoy buscando. ¿Alguna idea sobre cómo abordarlo?

¡¡Muchas gracias!!

Respuestas a la pregunta(2)

Su respuesta a la pregunta