I have an array of objects like this (Data):
[
{content: someString, tag: someString, data: someString, author: someId},
{content: someString, tag: someString, data: someString, author: someId},
{content: someString, tag: someString, data: someString, author: someId},
{content: someString, tag: someString, data: someString, author: someId},
]
I have another array of object like this (UserData):
[
{author: someId, firstName: someString, lastName: someString},
{author: someId, firstName: someString, lastName: someString},
]
What i want is an object like this:
{
authorFullName: [{content: someString, tag: someString, date: someString},
{content: someString, tag: someString, date: someString}],
authorFullName: [{content: someString, tag: someString, date: someString},
{content: someString, tag: someString, date: someString}]
}
I know I can restructure and make an object with the Data as the array and the authorID as the key like this:
const newObject = OldArrayOfObjects.reduce((result, item) => ({
...result,
[item.author]: [
...(result[item.author] || []),
{ content: item.content, tag: item.tag, date: item.date },
],
}), {});
But how do i also replace the authorId with with the full name from the UserData array?? Working with objects and arrays like this is hard..