Дмитрий Фандорин
Множество в JavaScript
Множество (Set) - это коллекция в языке программирования JavaScript, которая используется для хранения уникальных значений любых типов данных. Это означает, что каждый элемент в множестве может иметь только одно уникальное значение, и повторяющиеся значения будут игнорироваться.
Создание коллекции
Для создания нового множества в JavaScript мы можем использовать следующий синтаксис:
const mySet = new Set();
Также мы можем передать массив в конструктор Set, чтобы создать множество со значениями из массива:
const mySet = new Set([1, 2, 3, 3, 4, 5]);
console.log(mySet); // Set(5) {1, 2, 3, 4, 5}
Работа с коллекцией
Множество имеет ряд методов для работы с элементами:
add(value)
- добавляет новый элемент в множество.
delete(value)
- удаляет элемент из множества.
has(value)
- проверяет, содержит ли множество заданный элемент.
clear()
- удаляет все элементы из множества.
Например, мы можем добавить и удалить элементы из множества следующим образом:
const mySet = new Set();
mySet.add("apple");
mySet.add("banana");
mySet.add("orange");
console.log(mySet); // Set(3) {"apple", "banana", "orange"}
mySet.delete("banana");
console.log(mySet); // Set(2) {"apple", "orange"}
console.log(mySet.has("apple")); // true
console.log(mySet.has("banana")); // false
Обход
Множество не имеет индексов, поэтому мы не можем обратиться к элементам по индексу, как в массиве. Вместо этого мы можем использовать метод forEach
, который позволяет обойти каждый элемент множества и выполнить некоторое действие для каждого элемента:
const mySet = new Set([1, 2, 3]);
mySet.forEach((value) => {
console.log(value);
});
// выводит:
// 1
// 2
// 3
Особенности работы с непримитивными типами
При работе с множеством мы сталкиваемся с особенностями работы с непримитивными типами данных, такими как объекты и массивы. При добавлении объекта в множество, мы добавляем ссылку на объект, а не сам объект. Это означает, что если мы изменяем свойства объекта, который был добавлен в множество, то изменения будут видны и в множестве. Также мы можем добавлять в множество массивы, но при сравнении элементов множества будут использоваться ссылки на массивы, а не их содержимое.
Например:
const obj1 = { name: "John" };
const obj2 = { name: "Jane" };
const mySet = new Set();
mySet.add(obj1);
mySet.add(obj2);
obj1.name = "Jack";
console.log(mySet); // Set(2) {{"name":"Jack"},{"name":"Jane"}}
Заключение
Множество в языке программирования JavaScript - это удобная коллекция для хранения уникальных значений любых типов данных. Множество имеет ряд методов для работы с элементами и может быть использовано для решения различных задач в программировании. Однако, при работе с непримитивными типами данных необходимо учитывать особенности их работы в множестве.
Карта развития разработчика
Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile