Объект Set в JavaScript

14 февраля 2026
Автор

Дмитрий Нечаев

В JavaScript объект Set представляет собой коллекцию уникальных значений, что означает, что каждое значение может появляться в коллекции только один раз. Set используется для хранения данных без дубликатов и предоставляет методы для добавления, удаления и проверки наличия значений в коллекции. Давайте подробнее рассмотрим работу с коллекцией Set в JavaScript.

Создание Set

Для создания нового объекта Set используется конструктор Set(). Пустой объект Set можно создать без аргументов, а также можно передать массив или итерируемый объект, чтобы скопировать его значения в новую коллекцию Set.

// Создание пустого объекта Set
const set = new Set();

// Создание объекта Set из массива
const array = [1, 2, 3, 3, 4, 5];
const setFromArray = new Set(array);
console.log(setFromArray); // Выведет: Set(5) { 1, 2, 3, 4, 5 }

Объект Set представляет собой коллекцию уникальных значений. Понимание того, как он работает и когда его использовать, помогает писать более эффективный и лаконичный код. Чтобы разобраться с Set, другими структурами данных и основными концепциями JavaScript, приходите на наш курс JavaScript с нуля. На курсе 198 уроков и 30 упражнений, AI-тренажеры для безлимитной практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.

Добавление значений в Set

Значения можно добавлять в коллекцию Set с помощью метода add(). Попытка добавить в коллекцию уже существующее значение будет проигнорирована, так как Set хранит только уникальные значения.

// Добавление значений в Set
set.add(1);
set.add(2);
set.add(3);
set.add(3); // Дубликат будет проигнорирован
console.log(set); // Выведет: Set(3) { 1, 2, 3 }

Проверка наличия значения в Set

Для проверки наличия значения в коллекции Set используется метод has(). Этот метод возвращает логическое значение true, если значение присутствует в коллекции, и false в противном случае.

console.log(set.has(1)); // Выведет: true
console.log(set.has(4)); // Выведет: false

Удаление значения из Set

Значение можно удалить из коллекции Set с помощью метода delete(). Если значение успешно удалено, метод delete() вернет true; если значение не было найдено в коллекции, метод вернет false.

console.log(set.delete(2)); // Выведет: true
console.log(set); // Выведет: Set(2) { 1, 3 }
console.log(set.delete(4)); // Выведет: false

Итерация по Set

Для итерации по коллекции Set можно использовать цикл for...of или метод forEach().

// Итерация с помощью цикла for...of
for (const item of set) {
    console.log(item);
}

// Итерация с помощью метода forEach()
set.forEach(item => {
    console.log(item);
});

Размер Set

Для определения количества элементов в коллекции Set используется свойство size.

console.log(set.size); // Выведет: 2

Преобразование Set в массив

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

const setToArray = Array.from(set);
console.log(setToArray); // Выведет: [1, 3]

Преимущества использования Set

Коллекция Set предоставляет эффективный способ хранения уникальных значений без дубликатов. Она может быть полезна в различных сценариях, таких как удаление дубликатов из массива, проверка наличия уникальных элементов в наборе данных и другие.

Заключение

Коллекция Set в JavaScript предоставляет простой и эффективный способ работы с уникальными значениями. Она обеспечивает высокую производительность и удобный интерфейс для добавления, удаления и проверки наличия значений в коллекции. Понимание и использование Set поможет в создании чистого и эффективного кода при работе с уникальными данными.

Set полезен для работы с уникальными значениями, но для создания сложных приложений необходимо более глубокое понимание JavaScript. Для этого вам может быть полезен наш курс JavaScript Advanced. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир JavaScript прямо сегодня.

Стрелочка влевоОбъект SharedArrayBuffer в JavaScriptОбъект в JavaScriptСтрелочка вправо

Постройте личный план изучения Javascript до уровня Middle — бесплатно!

Javascript — часть карты развития Frontend

  • step100+ шагов развития
  • lessons30 бесплатных лекций
  • lessons300 бонусных рублей на счет

Бесплатные лекции

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний

Лучшие курсы по теме

изображение курса

Основы JavaScript

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

TypeScript с нуля

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.8
3 999 ₽ 6 990 ₽
Подробнее
изображение курса

Next.js - с нуля

Антон Ларичев
AI-тренажеры
Практика в студии
Гарантия
Бонусы
иконка звёздочки рейтинга4.7
3 999 ₽ 6 990 ₽
Подробнее

Отправить комментарий