Спросят с вероятностью 7%
Map и Set — это структуры данных, введенные в ECMAScript 6 (ES6), которые предоставляют дополнительные возможности и более гибкую работу с коллекциями данных по сравнению с традиционными объектами и массивами. Вот основные особенности и случаи их использования:
Map
Это структура данных, которая позволяет хранить пары ключ-значение и поддерживает любые типы данных в качестве ключей.
Основные особенности:
1️⃣Любые типы ключей:
В ней ключами могут быть любые значения, включая объекты, функции и примитивы. Это отличает
Map от объектов, где ключи могут быть только строками или символами.const map = new Map();
map.set('a', 1);
map.set(1, 'one');
map.set({}, 'object');
map.set(function() {}, 'function');
console.log(map);
2️⃣Сохранение порядка:
Сохраняет порядок вставки элементов, что позволяет итерировать по элементам в порядке их добавления.
3️⃣Итерируемость:
Имеет встроенные методы для итерации, такие как
map.keys(), map.values(), и map.entries(), что упрощает работу с коллекцией данных.4️⃣Методы и свойства:
✅
set(key, value): Добавляет новую пару ключ-значение в Map.✅
get(key): Возвращает значение, соответствующее ключу.✅
has(key): Возвращает true, если ключ присутствует в Map.✅
delete(key): Удаляет пару ключ-значение по ключу.✅
clear(): Очищает Map.✅
size: Возвращает количество элементов в Map.Пример:
const map = new Map();
map.set('name', 'Alice');
map.set('age', 25);
console.log(map.get('name')); // Alice
console.log(map.has('age')); // true
console.log(map.size); // 2
for (const [key, value] of map) {
console.log(key, value);
}
// name Alice
// age 25
Set
Это структура данных, которая хранит уникальные значения. В
Set каждое значение может присутствовать только один раз.Основные особенности:
1️⃣Только уникальные значения:
Set автоматически удаляет дубликаты значений, что позволяет легко создавать коллекции уникальных элементов.2️⃣Итерируемость:
Set поддерживает итерацию и имеет встроенные методы для работы с коллекцией данных.3️⃣Методы и свойства:
✅
add(value): Добавляет новое значение в Set.✅
has(value): Возвращает true, если значение присутствует в Set.✅
delete(value): Удаляет значение из Set.✅
clear(): Очищает Set.✅
size: Возвращает количество элементов в Set.Пример:
const set = new Set();
set.add(1);
set.add(2);
set.add(2); // Дубликат не добавится
set.add(3);
console.log(set.has(2)); // true
console.log(set.size); // 3
for (const value of set) {
console.log(value);
}
// 1
// 2
// 3
Сравнение с традиционными структурами данных
Объекты и массивы:
✅Объекты используются для хранения пар ключ-значение, но ключи могут быть только строками или символами.
✅Массивы используются для хранения упорядоченных коллекций элементов, но они не гарантируют уникальность значений.
Map и Set:
✅
Map предоставляет более гибкую работу с парами ключ-значение, поддерживая любые типы данных в качестве ключей и сохраняя порядок вставки.✅
Set предоставляет коллекцию уникальных значений и автоматически удаляет дубликаты.🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых