Код 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
- Соберите
Setиз id текущих элементов. - Не забудьте добавлять в
Setи новые id, чтобы отсеять дубли внутри страницы.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.