Код Junior Списки и производительность спрашивают часто обновлено

Склейка страниц без дублей

Условие

Лента подгружает страницы, и из-за новых постов на сервере одна запись может прийти дважды. Напишите mergePages(current, page): возвращает новый массив, где к current добавлены элементы page, которых ещё нет (по полю id). Порядок сохраняется, исходные массивы не меняются. Если элемент с таким id уже есть, остаётся старая версия на старом месте.

Примеры

mergePages([{"id":1}], [{"id":2}, {"id":3}]) // [{"id":1}, {"id":2}, {"id":3}]
mergePages([{"id":1}, {"id":2}], [{"id":2}, {"id":3}]) // [{"id":1}, {"id":2}, {"id":3}]
mergePages([], [{"id":"a"}]) // [{"id":"a"}]

Как подойти

Подсказки: 2
  1. Соберите Set из id текущих элементов.
  2. Не забудьте добавлять в Set и новые id, чтобы отсеять дубли внутри страницы.

Решите в тренажёре

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

Термины по теме