Je voudrais regrouper tous les messages entre 2 personnes dans un groupe (chat). Peu importe si je suis l'auteur ou le destinataire.Comment puis-je y parvenir avec Lodash?
Disons cet exemple de code.
const messages = [
{ id: '100', text: 'aaa', author: { id: '1' }, receiver: { id: '2' } },
{ id: '101', text: 'bbb', author: { id: '2' }, receiver: { id: '1' } },
{ id: '102', text: 'ccc', author: { id: '3' }, receiver: { id: '1' } },
]
Imaginez, je suis utilisateur ID = 1, donc je voudrais obtenir ceci:
const chats = [
{
chatName: 'Name of user ID 2', messages: [
{ id: '100', text: 'aaa', author: { id: '1' }, receiver: { id: '2' } },
{ id: '101', text: 'bbb', author: { id: '2' }, receiver: { id: '1' } },
]
},
{
chatName: 'Name of user ID 3', messages: [
{ id: '102', text: 'ccc', author: { id: '3' }, receiver: { id: '1' } },
]
}
];
Comment puis-je obtenir cela avec Lodash?