Введение
1. Объект Set
позволяет хранить уникальные значения любого типа, будь то примитивные значения или ссылки на объекты.
2. Объекты Set
представляют собой коллекции значений. Значение в наборе может встречаться только один раз; он уникален в коллекции набора.
3.Вы можете перебирать элементы набора в порядке вставки. Порядок вставки соответствует порядку, в котором каждый элемент был успешно вставлен в набор методом add()
(т. е. на момент вызова add()
в наборе уже не было идентичного элемента).
2.Как создать набор
Вы можете создать набор JavaScript:
- Передача массива в
new Set()
- Создайте новый набор и используйте
add()
для добавления значений. - Создайте новый набор и используйте
add()
для добавления переменных.
2.1 Новый метод Set():-
Передайте массив конструктору new Set()
:
2.2 Пример:-
// Create a Set const letters = new Set(["a","b","c"]);
3. Установите методы
- new Set() :Создает новый набор.
- add(): добавляет новый элемент в набор.
- delete() : удаляет элемент из набора.
- has():Возвращает true, если значение существует.
- clear():удаляет все элементы из набора.
- forEach() :Вызывает обратный вызов для каждого элемента.
- values() : Возвращает итератор со всеми значениями в наборе.
- keys() :то же, что иvalues()
- entries() : Возвращает итератор с парами [значение, значение] из набора.
- размер:Возвращает числовые элементы в наборе.
4. Пример
const mySet1 = new Set(); mySet1.add(1); // Set(1) { 1 } mySet1.add(5); // Set(2) { 1, 5 } mySet1.add(5); // Set(2) { 1, 5 } mySet1.add("some text"); // Set(3) { 1, 5, 'some text' } const o = { a: 1, b: 2 }; mySet1.add(o); mySet1.add({ a: 1, b: 2 }); // o is referencing a different object, so this is okay mySet1.has(1); // true mySet1.has(3); // false, since 3 has not been added to the set mySet1.has(5); // true mySet1.has(Math.sqrt(25)); // true mySet1.has("Some Text".toLowerCase()); // true mySet1.has(o); // true mySet1.size; // 5 mySet1.delete(5); // removes 5 from the set mySet1.has(5); // false, 5 has been removed mySet1.size; // 4, since we just removed one value mySet1.add(5); // Set(5) { 1, 'some text', {…}, {…}, 5 } - a previously deleted item will be added as a new item, it will not retain its original position before deletion console.log(mySet1); // Set(5) { 1, "some text", {…}, {…}, 5 }