Реализовать LRU-кэш как функцию-конструктор:
const cache = createLRUCache(3);
cache.set('a', 1);
cache.set('b', 2);
cache.set('c', 3);
cache.get('a'); // делает 'a' самым недавно использованным
cache.set('d', 4); // должен выкинуть ключ, который дольше всего не использовали
Требования:
- Хранить не более capacity элементов.
- get(key):
Возвращает значение или undefined.
Перемещает элемент в «верх» как самый свежий.
- set(key, value):
Обновляет значение, если ключ существует.
Если кэш переполнен — удаляет самый «старый» по использованию ключ.
#домашка
