Поток сообщений по порядку

Medium
AsyncQueueYandex

Сообщения приходят асинхронно с номером. Нужно выводить их строго по порядку, начиная с 1.

Реализуйте класс OrderedMessages:

  • receive(id, text) — принять сообщение. Если id — следующий ожидаемый, вернуть все сообщения, которые можно вывести подряд (массив строк). Иначе — буферизовать и вернуть пустой массив.
const om = new OrderedMessages();
om.receive(1, "a") // => ["a"]
om.receive(3, "c") // => []
om.receive(2, "b") // => ["b", "c"]

Примеры

Пример 1
Вход:
receive(1,"a")
Выход:
["a"]
Пример 2
Вход:
receive(3,"c") then receive(2,"b")
Выход:
["b","c"]
Ваш код - JavaScript
Результаты
Нажмите «Запуск» для выполнения кода