Сообщение от webgraph
|
по итогу при общем большом количестве операций думаю могут возникнуть трудности. и оптимальнее все таки искать value у конкретного участника:
|
Лучше, конечно иметь весь список операций, которые могут понадобиться. Какие частые и надо проводить быстро, какие редкие и скоростью можно пожертвовать.
Из того, что написано может быть такая схема
const operations_objects = [
{
from: 'e3d08a24-971f-4e5b-b646-a9decd12f05d', // UUID от кого
to: 'd82bbb1d-0ab0-4d4d-8f97-41ddf6460c41', // UUID кому
value: '500.00000000000000', // сколько (может быть уникальным значением) и принципиально строковое значение
total_from: '100.00000000000000', // сколько осталось у отправителя
total_to: '500.00000000000000', // сколько стало у получателя
time: 1673357366 // дата проведения операции в секундах (от 01.01.1970)
},
{
from: 'bd166b6d-381d-4109-9b4b-7a48a26b4119',
to: 'ef59025a-165d-407e-831b-ab3464ae3861',
value: '300.00000000000000',
total_from: '700.00000000000000',
total_to: '400.00000000000000',
time: 1673357377
},
];
memberOperations = new Map ()
Ключом является UUID участника
Значение - такой объект
{
operations: [<n.op>, <n.op>, <n.op...] // номера операций м массиве operations_objects с этим участником
values: new Map();
}
ключ у values - values из операции
значение - [<n.op>, <n.op>...] - номера операций м массиве operations_objects с этим участником и с этим values