I have two arrays like this:
let event = [
{id: "123", ename: "abc"}
{id: "125", ename: "def"}
]
let speaker = [
{id: "11", sname: "s1", event_id: "123"}, //FK from event table
{id: "13", sname: "s2", event_id: "123"},
{id: "15", name: "s4", event_id: "125"}
]
I want output like this:
let event_speaker = [
{
id: "123",
ename: "abc",
speaker: [
{id: "11", sname: "s1", event_id: "123"},
{id: "13", sname: "s2", event_id: "123"},
]
},
{
id: "125",
ename: "def",
speaker: [
{id: "15", sname: "s4", event_id: "125"}
]
}
]
I have tried different answers which work to merge two arrays into one but not when we have more than one matching pair and I need to put it in a new array with my own key (speaker).
I have tried this:
let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));
But it only works for one speaker as it puts all speaker keys into final array like this
let final_array = [
id: "123",
ename: "abc,
sname: "s1",
event_id: "123"
]