TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #89 7.61K
Что такое map и set ?
Спросят с вероятностью 10%

Map и Set — это структуры данных, введённые в ES6 (ECMAScript 2015), которые расширяют возможности стандартных объектов и массивов, предоставляя более специализированные и гибкие способы хранения данных.

Map

Это коллекция ключ/значение, где ключи могут быть любого типа, в отличие от объектов, где ключи могут быть только строками или символами. Он сохраняет порядок вставки элементов, что означает, что данные итерируются в том порядке, в котором они были добавлены.

Основные методы:
- new Map() — создаёт новую коллекцию.
- map.set(key, value) — устанавливает значение value для ключа key.
- map.get(key) — возвращает значение, ассоциированное с ключом key.
- map.has(key) — возвращает true, если key существует в коллекции.
- map.delete(key) — удаляет элемент по ключу key.
- map.clear() — удаляет все элементы из коллекции.
- map.size — возвращает количество элементов в коллекции.
let map = new Map();
map.set('1', 'str1'); // строка в качестве ключа
map.set(1, 'num1'); // цифра как ключ
map.set(true, 'bool1'); // булево значение как ключ

console.log(map.get(1)); // num1
console.log(map.get('1')); // str1
console.log(map.size); // 3


Set

Это коллекция, которая хранит только уникальные значения без ключей (или, можно сказать, где значение одновременно и есть ключ). Как и Map, он сохраняет порядок вставки элементов.

Основные методы:
- new Set() — создаёт новую коллекцию.
- set.add(value) — добавляет значение value в коллекцию, если его там ещё нет.
- set.delete(value) — удаляет значение value из коллекции.
- set.has(value) — возвращает true, если значение value присутствует в коллекции.
- set.clear() — удаляет все элементы из коллекции.
- set.size — возвращает количество элементов в коллекции.
let set = new Set();

let john = { name: "John" };
let pete = { name: "Pete" };
let mary = { name: "Mary" };

// посещения, некоторые пользователи заходят многократно
set.add(john);
set.add(pete);
set.add(mary);
set.add(john);
set.add(mary);

console.log(set.size); // 3

for (let user of set) {
console.log(user.name); // John, Pete, Mary
}


Map и Set представляют собой мощные структуры данных, которые делают код более чистым и читаемым, а также предоставляют удобные методы для работы с данными. Map идеально подходит для хранения пар ключ/значение с уникальными ключами, в то время как Set используется для хранения уникальных значений.

➡️ Примеры ответов
➡️ Список всех вопросов на Frontend Developer

🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
  • 👍 47
  • ❤ 2
  • 🔥 2
  • 🤯 1
More from @easy_javascript_ru
  1. Oct 18, 2026🤔 Что такое делегирование? Делегирование событий (Event Delegation) — это техника, при ко…
  2. Oct 17, 2026🤔 Откуда взялся CSS? CSS (Cascading Style Sheets) появился в 1996 году для отделения стил…
  3. Oct 17, 2026🤔 Какие значения будут являться falsy значениями? В JavaScript значения, которые при прив…
  4. Oct 16, 2026🤔 Что такое meta теги? Meta-теги – это специальные HTML-теги, которые содержат метаинформ…
  5. Oct 15, 2026🤔 Какие преимущества у di? Dependency Injection (DI) – это паттерн проектирования, которы…
  6. Oct 14, 2026🤔 Зачем создавались библиотеки react и другие? Библиотеки, такие как React, создавались д…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →