Привет всем.
Собираю объект для отображения в DOM из массивов с объектами.
В каждом массиве содержатся специфические свойства для, в качестве ключа - object_id.
Пример массивов:
info: [
{ id: 26, name: "CWVA", group: "EA211" }
{ id: 90, name: "CWVB", group: "EA211" }
]
sensors: [
{ id: 1, object_id: 19, name: tempOil, value: 115 }
{ id: 3, object_id: 90, name: tempOut, value: 9 }
{ id: 2, object_id: 26, name: tempOil, value: 90 }
...
]
props: [
{ id: 1, object_id: 26, status: off, RpM: 0 }
{ id: 2, object_id: 90, status: on, RpM: 1208 }
...
]
На выходе мне нужен объект, вида:
myObject {
id: 26,
name: "CWVA",
group: "EA211",
sensors: [
tempOil: 90,
...
],
props: {
status: off,
RpM: 0
}
}
Сейчас я пропускаю через
for of все массивы и беру из них элемент с нужным
object_id. Проблема в том, что кол-во объектов растёт, а массивы со свойствами для обновления таких объектов прилетают всё чаще.
Думал перейти на
Map(), но такой возможности нет (VueJS
не поддерживает рендеринг DOM через директиву
v-for с параметром в виде объекта
Map, только простые массивы/объекты).
Может кто подскажет как можно оптимизировать код? Можно ли избавиться от циклов, не перебирать постоянно каждый??
Заранее спасибо за ответы!
P.S.: Не очень хочется связываться с промисами в данном контексте, т.к., на сколько я понимаю, может быть переполнение стека...