У меня есть два разных массива объектов, которые я получаю из агрегатной функции, потому что я использую две разные коллекции.
Я пытался использовать функцию карты, как описано здесь, но это не решает мою проблему, что еще я могу сделать, чтобы получить желаемые результаты?
qrySearch = [{
sName: 'SomePlace1',
lBusinessID: 37343,
SystemID: 5000152
},
{
sName: 'SomePlace2',
lBusinessID: 39780,
SystemID: 5000156
},
{
sName: 'SomePlace3',
lBusinessID: 50772,
SystemID: 5000519
},
{
sName: 'SomePlace4',
lBusinessID: 31079,
SystemID: 5000384
}
]
и
qrySearchLocID = [{
LocalLabID: '123f',
_ID: 'SomePlace1',
AppLabID: 3,
count: 15
},
{
LocalLabID: '12BC',
_ID: 'SomePlace2',
AppLabID: 3,
count: 40
}
];
после попытки получить только этот массив:
qrySearch = [{
sName: 'SomePlace1',
lBusinessID: 37343,
SystemID: 5000152
},
{
sName: 'SomePlace2',
lBusinessID: 39780,
SystemID: 5000156
},
{
sName: 'SomePlace3',
lBusinessID: 50772,
SystemID: 5000519
},
{
sName: 'SomePlace4',
lBusinessID: 31079,
SystemID: 5000384
},
]
для простоты я сохранил массив коротким.Мне нужно сравнить _ID, если он совпадает с sName для желаемого результата:
result = [{
sName: 'SomePlace1',
lBusinessID: 37343,
SystemID: 5000152,
LocalLabID: '123f',
AppLabID: 3,
count: 15
},
{
sName: 'SomePlace2',
lBusinessID: 39780,
SystemID: 5000156,
LocalLabID: '12BC',
AppLabID: 3,
count: 40
},
{
sName: 'SomePlace3',
lBusinessID: 50772,
SystemID: 5000519
},
{
sName: 'SomePlace4',
lBusinessID: 31079,
SystemID: 5000384
}
]
Я пробовал использовать этот пример:
var result = qrySearch.map((e, _) =>
(_ = qrySearchLocID.find((q) => q._ID=== e.sName)) ?
{ ...e, ...{ _ID: _._ID} } : e);
, но в результатах отсутствует число.