Шаблоны перебора
Перебирайте Map и Set с помощью for...of; используйте entries, keys и values; преобразуйте данные в массивы; создавайте небольшие счётчики и списки уникальных значений
«Шаблоны перебора» — бесплатный урок JavaScript Academy на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения JavaScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс JavaScript Academy содержит 3 уроков всего.
Обзор перебора
Цель: освоить простой и понятный перебор.
- Отображение: entries, keys, values
- Множество: values
- Преобразование в массивы
- Счётчик частот и списки уникальных значений

Отображение: entries/keys/values
Используйте for...of для отображения, чтобы получить [key, value]; также доступны keys() и values().
// Map iterates as [key, value] pairs
const prices = new Map();
prices.set("apple", 3);
prices.set("banana", 2);
for (const [item, cost] of prices) {
console.log(item, cost);
}
// You can also use keys() or values()
for (const k of prices.keys()) {
console.log("key:", k);
}
for (const v of prices.values()) {
console.log("value:", v);
}

Множество: простой цикл
Множество выдаёт уникальные значения в порядке вставки; дубликаты игнорируются.
// Set iterates values in insertion order
const colors = new Set(["red", "green", "red", "blue"]);
for (const c of colors) {
console.log("color:", c);
}
console.log("size:", colors.size);

Преобразования с помощью Array.from
Используйте Array.from, чтобы преобразовать отображения и множества в массивы (а пары — в отображение).
// Convert Map to array of pairs, and back
const map1 = new Map([["a", 1], ["b", 2]]);
const pairs = Array.from(map1); // [["a",1],["b",2]]
console.log("pairs:", pairs);
const map2 = new Map(pairs);
console.log("map2 has a?", map2.has("a"));
// Set to array of values
const set1 = new Set([1, 1, 2, 3]);
const arr = Array.from(set1); // [1,2,3]
console.log("arr:", arr);

Счётчик частот
Счётчик на отображении — понятный способ подсчитать вхождения элементов в списке.
// Count items in an array using Map
function countItems(list) {
const counts = new Map();
for (const x of list) {
const n = counts.get(x) || 0;
counts.set(x, n + 1);
}
return counts;
}
const fruits = ["apple", "banana", "apple", "apple", "banana"];
const counts = countItems(fruits);
// Print counts as "item: n"
for (const [name, n] of counts) {
console.log(name + ":", n);
}

Уникальность и принадлежность
Используйте множество, чтобы создать уникальный список и быстро проверять наличие с помощью has.
// Unique values with Set, quick membership test
const numbers = [2, 3, 2, 4, 3, 5];
const unique = Array.from(new Set(numbers));
console.log("unique:", unique);
// Quick membership with Set.has
const allowed = new Set([2, 5]);
console.log("allowed has 2?", allowed.has(2));
console.log("allowed has 4?", allowed.has(4));

Тест на перебор отображения
Быстрая проверка: лучший цикл отображения для key и значения.

Итоги
Итоги: Перебирайте отображение с помощью for...of, чтобы получать [key, value], напрямую перебирайте значения множества и преобразовывайте их с помощью Array.from. Используйте отображение для счётчиков, а множество — для уникальных списков.

Часто задаваемые вопросы
Урок «Шаблоны перебора» бесплатный?
Да — полный текст урока «Шаблоны перебора» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс JavaScript Academy, подпишись на CoddyKit PRO. Курс JavaScript Academy содержит 3 уроков всего.
Чему я научусь в уроке «Шаблоны перебора»?
Перебирайте Map и Set с помощью for...of; используйте entries, keys и values; преобразуйте данные в массивы; создавайте небольшие счётчики и списки уникальных значений Ты практикуешь JavaScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать JavaScript Academy?
Предыдущий опыт не требуется. JavaScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.
Сколько времени занимает урок «Шаблоны перебора»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке JavaScript Academy?
Да. Каждый урок JavaScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы Map и Set
- WeakMap и WeakSet — простая приватность и кэши
- Шаблоны перебора