Дмитрий Нечаев
Объект Set в JavaScript
В 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 прямо сегодня.
Постройте личный план изучения Javascript до уровня Middle — бесплатно!
Javascript — часть карты развития Frontend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Бесплатные лекции
Все гайды по Javascript
Лучшие курсы по теме

Основы JavaScript
Антон Ларичев
TypeScript с нуля
Антон Ларичев