JavaScript Наборы
JavaScript Набор - это набор уникальных значений.
Каждое значение в Наборе может встречаться только один раз.
Набор может содержать любое значение любого типа данных.
Методы набора
| Метод | Описание | 
|---|---|
| new Set() | Создает новый Набор | 
| add() | Добавляет новый элемент в Набор | 
| delete() | Удаляет элемент из Набора | 
| has() | Возвращает true, если значение существует | 
| clear() | Удаляет все элементы из Набора | 
| forEach() | Вызывает обратный вызов (callback) для каждого элемента | 
| values() | Возвращает итератор со всеми значениями в Наборе | 
| keys() | Такой же как values() | 
| entries() | Возвращает итератор с парами [значение, значение] из Набора | 
| Свойство | Описание | 
|---|---|
| size | Возвращает числовые элементы в Наборе | 
Как создать Набор
Вы можете создать JavaScript Набор:
- Передача массива в 
new Set() - Создайте новый Набор и используйте 
add()для добавления значений - Создайте новый Набор и используйте 
add()для добавления переменных 
Метод new Set()
Передайте массив в конструктор new Set():
Создайте набор и добавьте буквальные значения:
Пример
                // Создать Набор
                const letters = new Set();
                
                // Добавить значения в Набор
                letters.add("a");
                letters.add("b");
                letters.add("c");
            
            Попробуйте сами »
        Создайте набор и добавьте переменные:
Пример
                // Создать переменные
                const a = "a";
                const b = "b";
                const c = "c";
                
                // Создать Набор
                const letters = new Set();
                
                // Добавить переменные в Набор
                letters.add(a);
                letters.add(b);
                letters.add(c);
            
            Попробуйте сами »
        Метод add()
Если вы добавите одинаковые элементы, будет сохранен только первый:
Пример
                letters.add("a");
                letters.add("b");
                letters.add("c");
                letters.add("c");
                letters.add("c");
                letters.add("c");
                letters.add("c");
                letters.add("c");
            
            Попробуйте сами »
        Метод forEach()
Метод forEach() вызывает функцию для каждого элемента Set (Набора):
Пример
                // Создать Набор
                const letters = new Set(["a","b","c"]);
                
                // Список всех записей
                let text = "";
                letters.forEach (function(value) {
                  text += value;
                })
            
            Попробуйте сами »
        Метод values()
Метод values() возвращает объект Iterator, содержащий все значения в Set:
Теперь вы можете использовать объект Iterator для доступа к элементам:
Пример
                // Создать итератор
                const myIterator = letters.values();
                
                // Список всех значений
                let text = "";
                for (const entry of myIterator) {
                  text += entry;
                }
            
            Попробуйте сами »
        Метод keys()
В Наборе нет ключей.
Метод keys() возвращает то же самое, что и values().
Это делает Наборы совместимыми с Картами.
Метод entries()
В Наборе нет ключей.
Метод entries() возвращает пары [значение, значение] вместо пар [ключ, значение].
Это делает Наборы совместимыми с Картами:
Пример
                // Создать итератор
                const myIterator = letters.entries();
                
                // Список всех записей
                let text = "";
                for (const entry of myIterator) {
                  text += entry;
                }
            
            Попробуйте сами »
        Наборы и Объекты
Для Набора typeof возвращает объект:
                typeof letters;      // Вернёт объект
            
            Попробуйте сами »
            Для Набора instanceof Set возвращает true:
                letters instanceof Set;  // вернёт true
            
            Попробуйте сами »
        
