0Pricing
JavaScript Academy · Урок

Основы Map и Set

Используйте Map для поиска по парам «ключ → значение», а Set — для уникальных значений; перебирайте и преобразуйте их и применяйте небольшие практические приёмы

«Основы Map и Set» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 3 уроков всего.

Зачем нужны отображения и множества

Цель: выбрать подходящий контейнер.

  • Отображение: key→значение (key любого типа)
  • Множество: уникальные значения
  • Перебирать и преобразовывать данные
  • Небольшие повседневные шаблоны
Основы Map и Set — иллюстрация 1

Отображение: set/get/has

Отображение предоставляет set, get, has, delete, очистку и свойство размера.

// Map: key→value with any key type
const userToScore = new Map();

// set values
userToScore.set("ayla", 10);
userToScore.set("mina", 15);

// read values
console.log("ayla:", userToScore.get("ayla"));
console.log("has lena?", userToScore.has("lena"));

// size
console.log("size:", userToScore.size);
Основы Map и Set — иллюстрация 2

Множество: уникальные значения

Множество хранит только одну копию каждого значения; дубликаты игнорируются.

// Set: unique values
const seen = new Set();

// add values (duplicates are ignored)
seen.add("red");
seen.add("blue");
seen.add("red"); // ignored

console.log("size:", seen.size);
console.log("has red?", seen.has("red"));

seen.delete("blue");
console.log("after delete:", seen.size);
Основы Map и Set — иллюстрация 3

Почему отображение лучше объекта

Отображение сохраняет идентичность объектов в качестве ключей. Обычные объекты преобразуют ключи в строки.

// Map can use objects as keys directly
const key1 = { id: 1 };
const key2 = { id: 1 }; // different reference

const map = new Map();
map.set(key1, "A");

console.log("get key1:", map.get(key1));
console.log("get key2:", map.get(key2)); // undefined (different object)

const obj = {};
obj[key1] = "B"; // coerces key to "[object Object]"
console.log("object key:", obj["[object Object]"]);
Основы Map и Set — иллюстрация 4

Преобразования

Создавайте массивы уникальных значений из множества. Создавайте отображение из пар и обратно с помощью entries().

// Unique array values via Set
const nums = [2, 2, 3, 4, 3];
const unique = Array.from(new Set(nums));
console.log("unique:", unique);

// Map from pairs; back to pairs
const pairs = [["a", 1], ["b", 2]];
const m = new Map(pairs);
console.log("get a:", m.get("a"));
console.log("entries:", Array.from(m.entries()));
Основы Map и Set — иллюстрация 5

Шаблоны, которые стоит запомнить

Небольшие шаблоны:

  • Используйте отображение для подсчётов (key → число).
  • Используйте множество для быстрой проверки наличия.
  • Предпочитайте отображение, если ключи не являются строками или Вам нужен порядок вставки.
Основы Map и Set — иллюстрация 6

Тест на уникальность множества

Быстрая проверка: уникальность.

Основы Map и Set — иллюстрация 7

Итоги

Итоги: Выбирайте отображение для поиска по схеме key→значение (key любого типа), а множество — для уникальных значений; перебирайте и преобразовывайте их с помощью entries()/Array.from.

Основы Map и Set — иллюстрация 8

Часто задаваемые вопросы

Урок «Основы Map и Set» бесплатный?

Да — полный текст урока «Основы Map и Set» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 3 уроков всего.

Чему я научусь в уроке «Основы Map и Set»?

Используйте Map для поиска по парам «ключ → значение», а Set — для уникальных значений; перебирайте и преобразуйте их и применяйте небольшие практические приёмы Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать JavaScript Academy?

Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.

Сколько времени занимает урок «Основы Map и Set»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке JavaScript Academy?

Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы Map и Set
  2. WeakMap и WeakSet — простая приватность и кэши
  3. Шаблоны перебора
← Назад к JavaScript Academy