I have an array of objects representing a series of 'messages' in a chat. I want to group messages that are consecutively created by the same 'user', which is stored in each array item. Here's a simplified version of what I'm trying to do:
[
{ message: "One", user: "Bob" },
{ message: "Two", user: "Bob" },
{ message: "Three", user: "Bob" },
{ message: "Hello", user: "Sam" },
{ message: "Hello", user: "Bob" },
{ message: "Hello", user: "Sam" },
{ message: "Hello", user: "Sam" }
]
should be turned into:
[
[
{ message: "One", user: "Bob"},
{ message: "Two", user: "Bob" },
{ message: "Three", user: "Bob" }
],
[
{ message: "Hello", user: "Sam" }
],
[
{ message: "Hello", user: "Bob" }
],
[
{ message: "Hello", user: "Sam" },
{ message: "Hello", user: "Sam" }
]
]
Is there any easy way to do this? I couldn't find an answer/algorithm anywhere.