0Pricing
JavaScript Academy · Урок

Шаблоны перебора

Перебирайте Map и Set с помощью for...of; используйте entries, keys и values; преобразуйте данные в массивы; создавайте небольшие счётчики и списки уникальных значений

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

Обзор перебора

Цель: освоить простой и понятный перебор.

  • Отображение: entries, keys, values
  • Множество: values
  • Преобразование в массивы
  • Счётчик частот и списки уникальных значений
Шаблоны перебора — иллюстрация 1

Отображение: 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);
}
Шаблоны перебора — иллюстрация 2

Множество: простой цикл

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

// 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);
Шаблоны перебора — иллюстрация 3

Преобразования с помощью 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);
Шаблоны перебора — иллюстрация 4

Счётчик частот

Счётчик на отображении — понятный способ подсчитать вхождения элементов в списке.

// 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);
}
Шаблоны перебора — иллюстрация 5

Уникальность и принадлежность

Используйте множество, чтобы создать уникальный список и быстро проверять наличие с помощью 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));
Шаблоны перебора — иллюстрация 6

Тест на перебор отображения

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

Шаблоны перебора — иллюстрация 7

Итоги

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

Шаблоны перебора — иллюстрация 8

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

Урок «Шаблоны перебора» бесплатный?

Да — полный текст урока «Шаблоны перебора» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 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 — локальная установка не требуется.

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

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