Что я хочу
У меня есть 2 разных массива / объекта Java-Script , но с соответствующими идентификаторами .Я хочу объединить их в новый объект.Таким образом, как данные основного объекта, так и любые соответствующие элементы из вторичного объекта объединяются в объединенный результат.
То, что я пытался
Я пытался использовать функцию Object.assign()
, но безуспешно.
С учетом ввода
Пример кода, поэтому у меня есть 2 отдельных объекта ( main и линии ):
let main = [
{
"Id": "1",
"Name": "Testing data"
}
]
let lines = [
{
"OtherId": "1",
"code": "AU-29830"
},
{
"OtherId": "1",
"code": "AU-29854-Single"
},
{
"OtherId": "1",
"code": "TV-BB21084623"
},
{
"OtherId": "2",
"code": "Don't Merge"
},
{
"OtherId": "3",
"code": "Don't Merge"
}
]
Ожидаемый результат
Я хочу объединить эти 2 массива, чтобы на выходе был отдельный массив , содержащий merged main-object .Этот объединенный главный объект должен содержать исходное содержимое самого себя, а также вложенный отфильтрованный вторичный массив (только содержащий соответствующих объектов ).Фильтрация была выполнена с использованием id из объекта основного массива , который должен совпадать ( слегка отклоняющийся id) от каждого объекта вторичного объекта .массив .
Полученный массив должен выглядеть следующим образом:
let result = [
{
"Id": "1",
"Name": "Testing data",
"lines": [
{
"OtherId": "1",
"ProductCode": "AU-29830"
},
{
"OtherId": "1",
"ProductCode": "AU-29854-Single"
},
{
"OtherId": "1",
"ProductCode": "TV-BB21084623"
}
]
}
]