Typescript Заказанный словарь - PullRequest
1 голос
/ 22 марта 2020

Мне нужно хранить относительно большой объем данных, отсортированных по индексу, что-то похожее на редактируемый чат - упорядоченный по времени и с произвольным доступом для редактирования.

Количество элементов относительно велико, а количество " Индексная операция аналогична числу «сортирующих» действий. Я не препятствую вычислению «поиска» или «сортировки» каждый раз, и я ищу более разумную коллекцию.

Я пытался найти коллекцию упорядоченного словаря, но я только видел решения, которые используют обычные рассчитать Object.values(dict).sort(), что слишком много, я полагаю, если dict велико, и вам нужно отсортировать, если каждые ~ 1se c.

TL; DR
Есть коллекция упорядоченного словаря или что-то в этом роде похожи в TypeScript?

1 Ответ

1 голос
/ 22 марта 2020

Я думаю, что вы ищете Карта . Карта гарантированно сохраняет порядок вставки во время ее итерации.

Объекты тоже могут работать на вас. Начиная с ES2015, порядок итераций не является точно порядком вставки, но это предсказуемо .

Я предпочитаю использовать Карты над объектами, когда ключи поступают из пользовательского ввода или когда они не являются свойства известной формы. Это похоже на словари и записи на других языках, с которыми вы, возможно, знакомы.

...