Поэтому я пытаюсь добавить дополнительное свойство к объектам в массиве itemAlarms observables. Это один объект в массиве itemsAlarm:
{
"id": "1",
"healthType": "warning",
"createdOn": "2020-03-11T05:47:14.38Z",
"module": "00100",
"version": "0",
"index": 14
}
Я пытаюсь преобразовать его, чтобы добавить это дополнительное свойство в каждый объект массива:
{
"id": "1",
"itemsTypeId": "23",
"healthType": "warning",
"createdOn": "2020-03-11T05:47:14.38Z",
"module": "00100",
"version": "0",
"index": 14
}
Обе эти наблюдаемые имеют Идентификатор, который является тем же самым, и именно так я нахожу itemTypeId, чтобы объединить его с объектами itemAlarms. У items есть id, а itemsAlarms имеет itemId с отношениями primary и fk.
this.items$ = this.itemsService.getEntities();
this.itemsAlarms$ = this.itemsAlarmsEntityService.getEntities();
this.itemsAlarms$ = combineLatest([this.items$, this.itemsAlarms$]).pipe(
map(([items, itemsAlarms]) => {
itemsAlarms.forEach(alarm =>
Object.assign({ itemId: items.find(item => item.id === alarm.Itemid).itemTypeId}, itemsAlarms)
);
return itemsAlarms;
})
);
Я думал, что itemsAlarm будет новым переданным массивом, но это точный результат оригинала. Я чувствую, что делаю что-то не так.
Это пример того, что я пытаюсь сделать, но без почтового индекса, потому что я продолжаю получать сообщения, он устарел: http://jsbin.com/jiqofihoko/edit?js, консоль