How to map an array of objects to a new array
From some API i get response like that:
[
{
name: line1,
values: [
{ clock: clock1, value: value1 },
{ clock: clock2, value: value2 },
{ clock: clock3, value: value3 },
{ clock: clock4, value: value4 }
]
},
{
name: line2,
values: [
{ clock: clock1, value: value5 },
{ clock: clock2, value: value6 },
{ clock: clock4, value: value7 }
]
},
{
name: line3,
values: [
{ clock: clock1, value: value8 },
{ clock: clock4, value: value9 }
]
},
{
name: line4,
values: [
{ clock: clock1, value: value10 },
{ clock: clock2, value: value11 },
{ clock: clock3, value: value12 },
{ clock: clock4, value: value13 },
{ clock: clock5, value: value14 }
]
}
]
All clock: * property values are the same between all objects, so clock1 from line1 equal to the clock1 from line2/3/4. But value properties are not equal.
For my purposes i need to merge values objects from all lines to this new array of objects:
[
{ clock: clock1, line1: value1, line2: value5, line3: value8, line4: value10 },
{ clock: clock2, line1: value2, line2: value6, line3: null, line4: value11 },
{ clock: clock3, line1: value3, line2: null, line3: null, line4: value12 },
{ clock: clock4, line1: value4, line2: value7, line3: value9, line4: value13 },
{ clock: clock5, line1: null, line2: null, line3: null, line4: value14 }
]
Keys in new objects must be the name property from original objects.
Is there any way to doing that thing?


