Проверяет понимание внутренней структуры Map в JavaScript и возможности получения самого старого ключа за константное время.
В JavaScript объект Map гарантирует порядок итерации по ключам в порядке их вставки. Это означает, что первый добавленный ключ всегда будет первым при переборе. Благодаря этой особенности, получить самый старый ключ можно напрямую, не перебирая всю коллекцию.
Метод keys() возвращает итератор, который последовательно выдает ключи в порядке вставки. Вызов next() на этом итераторе возвращает первый ключ. Так как Map внутренне хранит ссылку на начало списка записей, операция выполняется за константное время O(1).
const map = new Map();
map.set('a', 1);
map.set('b', 2);
map.set('c', 3);
const firstKey = map.keys().next().value;
console.log(firstKey); // 'a'Этот подход полезен при реализации кэшей с политикой вытеснения LRU (Least Recently Used), где нужно быстро удалять самый старый элемент. Также он применяется в очередях, где важно знать первый добавленный элемент без полного перебора.
Используйте map.keys().next().value для получения самого старого ключа в Map за O(1). Это эффективно и просто, особенно когда порядок вставки важен для логики приложения.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию